簡體   English   中英

Flask 中的 POST 方法

[英]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 缺少參數的位置

這是我的文件夾樹

https://i.stack.imgur.com/5pvkT.png

您已經像這樣定義了您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM