Dies ist ein Memo für mich, die Details sind wie folgt.
Denken Sie nicht, dass es schwierig ist. Versuchen Sie es zuerst, bis Hello World im Browser angezeigt wird.
#pip install zum importieren
$ pip install bottle
# -*- coding:utf-8 -*-
from bottle import route, run
@route('/hello')
def hello():
return "Hello World!"
run(host='localhost', port=8080, debug=True)
Führen Sie es mit PyCharm aus und öffnen Sie es in Ihrem Browser. http://localhost:8080/hello
Jetzt können Sie Hello World in Ihrem Browser sehen !! Amazing Bottle
# -*- coding:utf-8 -*-
from bottle import route, run
@route('/hello/')
@route('/hello/<user>')
def hello(user="taro"):
return "Hello {user}".format(user=user)
@route('/date/<month:re:[a-z]+>/<day:int>/<path:path>')
def date(month, day, path):
return "{month}/{day} {path}".format(month=month, day=day, path=path)
run(host='localhost', port=8080, debug=True)
Durch Definieren eines Standards im Argument der auszuführenden Methode kann dieser auch dann angezeigt werden, wenn der Benutzer nicht übergeben wird. http://localhost:8080/hello/
http://localhost:8080/hello/masaibar
Es können einfache Wertebeschränkungen angegeben werden.
http://localhost:8080/date/april/29//dev/null
Es scheint, dass es zwei Möglichkeiten gibt, Anmerkungen wie GET und POST zu schreiben. @get ('/ hoge') und @route ('/ hoge', method = 'GET') haben dasselbe Verhalten.
Der übergebene Wert wird unter Bezugnahme auf die folgenden Variablen empfangen.
Darüber hinaus können Sie verschiedene Daten wie Header und Anforderungshauptteil empfangen. Referenz
# -*- coding:utf-8 -*-
from bottle import route, run
from bottle import get, post, request
@route('/login', method='GET') # or @get('/login')
def login():
username = request.query.get('user')
password = request.query.get('pass')
#Benutzername, wenn in GET nichts übergeben wird,Geben Sie nichts in das Passwort ein
username = "" if username is None else username
password = "" if password is None else password
return '''
<form action="/login" method="post">
Username: <input name="username" type="text" value="{username}"/>
Password: <input name="password" type="password" value="{password}"/>
<input value="Login" type="submit" />
</form>
'''.format(username=username, password=password)
@route('/login', method='POST') # or @post('/post')
def do_login():
username = request.forms.get('username')
password = request.forms.get('password')
return "{username} {password}".format(username=username, password=password)
run(host='localhost', port=8080, debug=True)
GET http://localhost:8080/login
http://localhost:8080/login?user=hoge&pass=fuga
POST
# -*- coding:utf-8 -*-
from bottle import route, run
from bottle import error
@route('/hello')
def hello():
return "Hello World!"
@error(404)
def error404(error):
return "Nothing here sorry {error}".format(error=error)
run(host='localhost', port=8080, debug=True)
Ich betrete absichtlich eine URL, die nicht existiert. http://localhost:8080/hellow
Um ehrlich zu sein, war ich überrascht, dass es sich leichter bewegte als ich erwartet hatte. Dieses Mal konzentrierte ich mich darauf, es zu verschieben, ohne an Vorlagen zu denken, aber als ich es nachschlug, hatte ich das Gefühl, dass einige Leute nur die Vorlagen-Engine verwendeten. (Ist Jinja2 beliebt?)
Tutorial — Bottle 0.13-dev documentation : http://bottlepy.org/docs/dev/tutorial.html Einfache Einführung von 6 Arten von Python-Webframeworks - Mojilog: http://mojix.org/2013/04/13/python-six-wafs Beherrschen Sie das Request / Response-Objekt von Bottle - Qiita: http://qiita.com/tomotaka_ito/items/62fc4d58d1be7867a158 Der Vergleich von None in Python ist nicht das == - ist Hallo Hallo Monmon! : http://monmon.hateblo.jp/entry/20110214/1297710749