J'écris un petit cadre qui permettra aux utilisateurs de se connecter au site, mais seulement après avoir cliqué sur un bouton de la page d'accueil. J'ai deux fichiers HTML, site_main_page.html
et login.html
, avec mon fichier Python principal.Problème pour rediriger l'utilisateur vers une nouvelle page HTML Python Bottle
site_main_page.html:
<html>
<body>
<button onclick="toLogin()">Login</button>
<script>
function toLogin()
{
window.location = "login.html";
}
</script>
</body>
</html>
login.html:
<html>
<body>
<form action="/login" method="post">
Username: <input name="username" type="text" />
Password: <input name="password" type="long" />
<input value="Login" type="submit" />
</form>
</body>
</html>
fichier Python:
from bottle import route, run, template, static_file, request, redirect
import urllib
import re
import sqlite3
@route('/')
def main_page():
return open('site_main_page.html').read()
@route('/login', method='POST')
def user_login():
username = request.forms.get('username')
password = request.forms.get('password')
conn = sqlite3.connect("/site_users")
cursor = conn.cursor()
the_data = list(cursor.execute('SELECT username, password from users'))
if username in the_data:
return redirect("/")
else:
return "<p>credentials invalid </p>"
run(host="127.0.0.1", port=8000, debug = True)
Actuellement, quand je lance le principal fichier python et cliquez sur le "Login" bouton, au lieu d'être dirigé à login.html
, je reçois le message:
Error: 404 Not Found
Not found: '/login.html'
Est-ce que quelqu'un sait comment ce problème peut être résolu?
Merci pour votre réponse. Cependant, lorsque j'ai essayé de réexécuter le script, j'ai quand même reçu le message d'erreur d'origine '404'. Y a-t-il un code que je dois changer dans mes autres fichiers? – Ajax1234
Avez-vous un chemin sur votre serveur qui retourne login.html? –
Actuellement, je n'ai que le décorateur '@route ('/ login', method = 'POST')'. – Ajax1234