Привет всем, я новичок в Flask, и я пишу эту программу, а функция регистрации не работает, и сообщение об ошибке мне действительно не очень помогает, поэтому вот код, ошибка и html вид, так что все будет действительно полезно. python код:
@app.route("/register", methods=["GET", "POST"])
def register():
if request.method == "GET":
return render_template("register.html")
else:
# check for username
if not request.form.get("username"):
return apology("Must provide valid username")
# check for valid password
elif not request.form.get("password"):
return apology("Must provide valid password")
# check password matches
elif not request.form.get("password") == request.form.get("password_confirmation"):
return apology("Password doesn't match")
hash = generate_password_hash(request.form.get("password"))
new_user = db.execute("INSERT INTO users (username, hash) VALUES (:username, :hash)", username = request.form.get("username"), hash = hash)
if not new_user:
return apology("Username take")
session["user_id"] = new_user
flash("Welcome!")
return redirect("/")
Html форма:
{% extends "layout.html" %}
{% block title %}
register
{% endblock %}
{% block main %}
<form action="/register" method="post">
<div class="form-group">
<input autocomplete="off" autofocus class="form-control" name="username" placeholder="Username" type="text">
</div>
<div class="form-group">
<input class="form-control" name="password" placeholder="Password" type="password">
<input name="password_confrimation" placeholder="Confirm Password" type="password">
</div>
<input type="submit">
</form>
{% enblock %}
журналы и сообщение:
[2020-07-13T18:19:20.336Z] "GET /templates/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
[2020-07-13T18:19:21.732Z] "GET /templates/register.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
[2020-07-13T18:19:32.272Z] "POST /register" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
[2020-07-13T18:19:32.273Z] "POST /register" Error (404): "Not found"
ПРИМЕЧАНИЕ: база данных уже подключена к файл db.