[英]POST method in Flask
app = Flask(__name__)
@app.route('/')
def home():
return render_template("home.html")
@app.route('/login_page', methods=["GET","POST"])
def login_page():
if request.method == "POST":
user=request.form["login"]
return redirect(url_for("user",usr=user))
else:
return render_template("login_page.html")
@app.route('/register_page')
def register_page():
return render_template("register_page.html")
@app.route('/home', methods=["GET","POST"])
@app.route("/<usr>")
def user(usr):
return f"<h1>{usr}</h1>"
if __name__ == '__main__':
app.run(debug=True)
這是我的錯誤類型錯誤:用戶()缺少 1 個必需的位置參數:'usr',我不明白用戶 function 缺少參數的位置
這是我的文件夾樹
您已經像這樣定義了您的user
function :
def user(usr)
這表示它需要一個位置參數。 您有兩條路線指向此 function:
- @app.route('/home', methods=["GET","POST"])
- @app.route("/<usr>")
只有第二條路線提供了必要的usr
變量。 當您訪問路線/home
時,您將收到您在問題中顯示的TypeError
。
根據您希望 function 在未指定用戶時的行為方式,讓第二個 function 處理/home
可能更有意義。 也許這應該是home
function 的替代路線?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.