我是新手,HTML,Jinja,我无法将值从一个模板传递到另一个模板。我看过很多其他的SO页面,没有人有同样的问题。我有一个带有下拉选择菜单的页面和一个提交按钮,一旦用户做出选择就会重定向。我的问题是我不知道如何将该选择传递到下一页的表单。以下是我的HTML表单代码:
<form method="POST" action="search">
<div class="form-group" align="center">
<select class="vertical-menu">
{% for friend in strFriendList %}
<option name="friendToPay" value="{{ friend }}">{{ friend }}</option>
{% endfor %}
</select>
<a href="{{ url_for('payment') }}" class="btn-primary"> Submit</a>
</div>
</form>
以下是我的搜索和付款功能:
@app.route("/search")
def search():
if "email" not in session:
return redirect(url_for("login"))
else:
friendslist1 = Friendship.query.filter_by(username=session["username"]).all()
friendslist2 = Friendship.query.filter_by(friendUserName=session["username"])
strFriendList = [""]
for friend in friendslist1:
strFriendList.append(friend.friendUserName)
for friend in friendslist2:
strFriendList.append(str(friend.username))
form = SelectFriendForm()
return render_template("search.html",strFriendList=strFriendList,form=form)
@app.route("/payment",methods=['GET', 'POST'])
def payment(personToPay):
form = PaymentForm()
if request.method == "POST":
if form.validate() == False:
return render_template("payment.html", form=form)
else:
return render_template("search.html")
# else:
# # Query the database and deposit the amount and subtract from giver
return render_template("payment.html")
我想让在搜索功能中选择的朋友发送到付款功能。非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
从HTML表单开始。表单的action
属性指示表单在何处继续提交。然后,您可以为用户添加一个提交按钮。
<form method="POST" action="payment">
<div class="form-group" align="center">
<select name="friendToPay" class="vertical-menu">
{% for friend in strFriendList %}
<option value="{{ friend }}">{{ friend }}</option>
{% endfor %}
</select>
<input type="submit" value="Submit" class="btn-primary" />
</div>
</form>
然后你可以用这样的东西来处理它:
@app.route("/payment", methods=['POST'])
def payment():
if request.form.get('friendToPay'):
# Run your logic here
return render_template("payment.html")
我已经删除了表单验证,以便明确您所询问的问题。