Je n'arrive pas à faire un routing correct avec Bottle.
J' étais sous Flask et ça marchait bien, mais voulant utiliser un raspberry pour faire un petit serveur et ayant rencontré un pb de versioning j'ai migré sur Bottle.
Sur Bottle, le routing semble plus capricieux que sur Flask. J' ai lu le tuto mais dès que je sort de la page d' accueil via un get, un post , ou même directement dans la barre d' adresse, je tombe sur un 404.
Je mets des templates avec extension tpl dans un sous repertoire views, je fais du copié coller de code mais ça marche pas.
Ma dernière tentative :
from bottle import Bottle, run, route, debug, template, get, post, request , view
import requests
from datetime import date, time, datetime,timedelta
import datetime
import os, os.path
import sqlite3
app = Bottle()
@app.route('/',methods=['GET'])
@get('/login') # or @route('/login')
def login():
return '''
<form action="/login" method="post">
Username: <input name="username" type="text" />
Password: <input name="password" type="password" />
<input value="Login" type="submit" />
</form>
'''
#@post('/login') # or @route('/login', method='POST')
@app.route('/', method='POST')
@get('/exped')
def exped():
username = request.forms.get('username')
password = request.forms.get('password')
if check_login(username, password):
return "<p>Your login information was correct.</p>"
else:
return "<p>Login failed.</p>"
@route('/hello')
@view('hello')
@route('/hello/<name>')
def hello(name='World'):
return template(hello, name=name)
debug(True)
run(app, host='0.0.0.0', port=8080, reloader=True)