Bonjour à tous.

Je viens vous voir car j'ai un soucis de compréhension sur le plugin bottle. En effet, j'arrive à récupérer des valeurs en posts et j'arrive à créer des pages web avec des templates. Mon soucis est que je n'arrive pas à faire fonctionner les deux en même temps, j'ai soit une erreur 500, soit une erreur 405 dans mes tests.

Voilà le code que j'ai écris :

start.py
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bottle import Bottle, run, view, request, post
 
app = Bottle()
 
 
@app.route('/', method='POST')
@view('test')
def hello():
    if request.forms.get('username') and request.forms.get('password'):
        username = request.forms.get('username')
        password = request.forms.get('password')
    else:
        username = None
        password = None
 
    return dict(username=username, password=password)
 
run(app, host='0.0.0.0', port=8080, server='cherrypy')

Et voilà mon template :

test.tpl

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<form action="/" method="POST">
    Username: <input name="username" type="text" />
    Password: <input name="password" type="password" />
    <input value="Login" type="submit" />
</form>
%if username:
    <p>{{username}}</p>
%end
%if password:
    <p>{{password}}</p>
%end

Avec ça j'ai une erreur 405 "method not allowed", mais je ne comprend pas pourquoi.

Merci d'avance.