[英]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.