我現在正在開發一個網路應用程式,但我不知道當用戶輸入無效的登錄名時如何顯示錯誤訊息。我該怎么做?
這是我的 login.html
{% block body %}
<h1>Login</h1>
{% if error %}
<p>Invalid Username</p>
{% endif %}
<form method="POST" action="{{ url_for('login') }}">
<input type="text" name="username" placeholder="Your Username">
<input type="submit" value="Submit">
</form>
<a href='{{variable6}}'>Sign Up</a>
{% endblock %}
這是我的 app.py
@app.route("/login", methods=["GET", "POST"])
def login():
if flask.request.method == "GET":
return flask.render_template("login.html")
if flask.request.method == "POST":
username = flask.request.form["username"]
cursor.execute(
"SELECT user_name FROM public.users WHERE user_name = %s", [username]
)
results = cursor.fetchall()
if len(results) != 0: # if a user exists, "log" them in
return flask.redirect(flask.url_for("main"))
else:
return flask.render_template("login.html")
uj5u.com熱心網友回復:
我相信你的問題是你沒有定義“錯誤”變數是什么,你可以通過在 app.py 的最后一行回傳 render_template 來解決這個問題,添加 error=True,把它作為你的app.py 的最后一行。
return flask.render_template("login.html", error=True)
否則 Jinja(您在 login.html 中使用的模板語言)將不知道什么錯誤,并且會在 login.html 的 {% if error %} 陳述句中獲取型別 None 作為錯誤值,并且因為 None 不等于是的,它會跳過您要運行的代碼。
希望這可以幫助 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/316235.html
