J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle

create bottle app.png

Connaissez-vous Bottle, un framework web?

Django est un framework Web bien connu pour Python, mais l'un de mes frameworks préférés est Bottle.

Vous pouvez facilement créer une application Web en préparant simplement un fichier Python et un fichier HTML :)

Bottle

Vous pouvez installer Bottle avec la commande suivante.

$ pip install bottle

Outil de création de scoop

J'ai créé des applications Web avec Bottle, mais elles ont toujours la même structure de répertoires.

Il est difficile de créer un environnement similaire à chaque fois, j'ai donc créé un outil qui génère automatiquement des dossiers et des fichiers :)

Le code source est sur GitHub.

Lorsque vous exécutez l'outil (creator.py), il vous sera demandé le nom du projet et le framework CSS à utiliser.

Une fois la saisie terminée, elle sera automatiquement générée avec la structure de répertoires suivante.

├── app.py
├── static
│   └── main.css
└── views
     └── index.html

Jetons un œil au fichier généré.

index.html


<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link rel="stylesheet" href="../static/main.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">

    <title>test3</title>

  </head>
  <body>

    <section class="hero is-medium is-primary is-bold">
      <div class="hero-body">
        <div class="container">
          <h1 class="title">
            {{message}}
          </h1>
        </div>
      </div>
    </section>

  </body>
</html>

app.py


# -*- coding: utf-8 -*-

from bottle import Bottle, template, static_file, url
import os

app = Bottle()

@app.route('/static/:path#.+#', name='static')
def static(path):
    return static_file(path, root='static')

@app.route('/')
def index():
    message = "Hello, Bottle!"
    return template('index', message=message)

@app.error(404)
def error404(error):
    return "Error 404. Try again later."

@app.error(500)
def error500(error):
    return "Error 500. Try again later."

app.run(host='localhost', port=8080, debug=True)

Lorsque la génération est terminée, accédez au dossier du projet et essayez d'exécuter app.py.

$ cd <project-name>
$ python app.py

Si vous ouvrez http: // localhost: 8080, vous devriez voir quelque chose comme ce qui suit.

(L'affichage dépend du framework CSS sélectionné.)

スクリーンショット 2020-02-11 15.48.34.png

Il ne vous reste plus qu'à écrire le code et enrichir votre projet!

Je pense qu'il y a beaucoup de points qui ne suffisent pas comme outil, mais s'il vous plaît utilisez-le si vous le souhaitez :)

Links

Bottle: https://bottlepy.org/docs/dev/index.html

Outil d'échafaudage: https://github.com/ShogoMurakami/create-bottle-app

Thanks, shogo

Recommended Posts

J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
J'ai créé un fichier de dictionnaire python pour Neocomplete
J'ai créé un outil utile pour Digital Ocean
Création de l'outil de gestion des utilisateurs Let's Chat
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
J'ai créé une VM qui exécute OpenCV pour Python
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai recherché les compétences nécessaires pour devenir ingénieur web avec Python
J'ai fait un texte Python
J'ai touché au dernier outil de test automatique "Playwright for Python"
[VSCode] J'ai créé un extrait d'utilisateur pour Python print f-string
J'ai fait un Line-bot avec Python!
J'ai fait une loterie avec Python.
J'ai créé un démon avec Python
Mémorandum de l'outil de gestion de paquets Python ez_setup
Python> J'ai créé un code de test pour mon propre fichier externe
Création d'un outil CLI client / serveur WebSocket (comme WebSocket version netcat)
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
J'ai créé une bibliothèque de wrapper Python pour l'API de reconnaissance d'images docomo.
Présentation du framework BOT Minette pour Python
J'ai créé un docset de tableau de bord pour Holoviews
J'ai fait un programme de gestion de la paie en Python!
J'ai fait un compteur de caractères avec Python
[Python] Une application web rapide avec Bottle!
Un outil pour saisir facilement du code Python
J'ai fait une carte hexadécimale avec Python
Créez un framework Web avec Python! (1)
J'ai créé un outil d'estampage automatique du navigateur.
Après avoir étudié Python3, j'ai créé un Slackbot
J'ai créé un outil de mot de passe en Python.
J'ai fait un jeu rogue-like avec Python
J'ai essayé de comparer le cadre d'application Web
Créez un framework Web avec Python! (2)
J'ai fait un simple blackjack avec Python
J'ai essayé le framework de test Python Tornado
J'ai créé un fichier de configuration avec Python
J'ai fait une bibliothèque pour l'assurance actuarielle
J'ai fait une application WEB avec Django
Un manuel pour les débutants réalisé par des débutants Python
J'ai fait un simulateur de neurones avec Python
J'ai créé un conteneur Docker pour utiliser JUMAN ++, KNP, python (pour pyKNP).
J'ai créé un outil pour parcourir automatiquement plusieurs sites avec Selenium (Python)
J'ai créé une application Web en Python qui convertit Markdown en HTML
Hit une méthode d'une instance de classe avec l'API Web Python Bottle
J'ai créé un outil qui facilite un peu la décompression avec CLI (Python3)
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai créé une fonction pour voir le mouvement d'un tableau à deux dimensions (Python)
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
J'ai fait une prévision météo de type bot avec Python.
Création d'un wrapper Python pour l'API Qiita
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai fait un algorithme de rechange2 moins cher pour uWSGI
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Procédure de création d'un LineBot réalisé avec Python
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai essayé la programmation python pour la première fois.
Python: préparez un sérialiseur pour l'instance de classe:
[Python] J'ai cherché le plus long Pokémon Shiritori
J'ai créé un téléchargeur pour l'expression distribuée par mot
J'ai créé un Bot LINE avec Serverless Framework!