Python Flask-如何获取指向表单的页面的URL?
如果两个不同的URL指向同一个表单,您如何确定该表单的URL请求 在URLPython Flask-如何获取指向表单的页面的URL?,python,html,flask,Python,Html,Flask,如果两个不同的URL指向同一个表单,您如何确定该表单的URL请求 在URL“/page1”和“/page2”上,有一个“添加”按钮,该按钮指向具有相同URL的相同表单,“/form1” 如果“/page1”指向表单页面,那么我希望在提交表单后重定向到“/page1”,同样,对于“/page2” 这是我尝试的代码: @app.route("/page1", methods = ['GET', 'POST']) def page1(): # Do something return
“/page1”
和“/page2”
上,有一个“添加”按钮,该按钮指向具有相同URL的相同表单,“/form1”
如果“/page1”
指向表单页面,那么我希望在提交表单后重定向到“/page1”
,同样,对于“/page2”
这是我尝试的代码:
@app.route("/page1", methods = ['GET', 'POST'])
def page1():
# Do something
return render_template("page1.html", title = "Page 1")
@app.route("/page2", methods = ['GET', 'POST'])
def page1():
# Do something
return render_template("page2.html", title = "Page 1")
@app.route("/form1", methods = ['GET', 'POST'])
def form1():
form = SomeForm()
# Do something
if form.validate_on_submit():
if request.url == "http://127.0.0.1:5000/page1":
return(redirect(url_for('page1'))
elif request.url == "http://127.0.0.1:5000/page2":
return(redirect(url_for('page2'))
return render_template("form1.html", title = "Page 1", form = form)
但是我似乎误解了request.url
的作用,因为它返回表单所在的url
那么,我应该使用什么方法来确定是第1页还是第2页导致了表单?谢谢。找到了解决方案。看起来您需要使用
请求.推荐人
@app.route("/form1", methods = ['GET', 'POST'])
def form1():
form = SomeForm()
# Do something
# Use request.referrer before validation.
prev_url = request.referrer
if form.validate_on_submit():
if request.url == "http://127.0.0.1:5000/page1":
return(redirect(url_for('page1'))
elif request.url == "http://127.0.0.1:5000/page2":
return(redirect(url_for('page2'))
return render_template("form1.html", title = "Page 1", form = form)