我正在创建这个在线简单的 webbapp,我需要知道用户投票的内容。在主页中,我可以看到“调查”列表,单选按钮和提交按钮中有两个选项,如以下代码所示
{% for element in range(1,datas.count()+1) %}
{% if datas.filter_by(id=element).first().user_name != user.name %}
<form action="post">
<fieldset style="border:{% if user.name in datas.filter_by(id=element).first().voters %}#f00 solid 2px {% else %}#00f solid 2px{% endif %};" class="fild">
<legend>{{ datas.filter_by(id=element).first().question }}</legend>
<br><br>
{{ datas.filter_by(id=element).first().fAnsw }} <input type="radio" name="opt" value="fa"/>
{% if user.name in datas.filter_by(id=element).first().voters %}
<progress value="0" max="100"></progress>
{% endif %}
{{ datas.filter_by(id=element).first().sAnsw }}<input type="radio" name="opt" value="sa"/>
{% if user.name in datas.filter_by(id=element).first().voters %}
<progress value="0" max="100"></progress>
{% endif %}
<br><br>
{% if user.name not in datas.filter_by(id=element).first().voters %}
<button type="submit" id="ans">Conferma</button>
{% endif %}
</fieldset>
</form>
{% endif %}
{% endfor %}
现在,我想根据用户的选择对数据库进行投票。所以,我在 Flask 中编写了以下代码
@views.route("/", methods=["GET", "POST"])
@views.route("/home", methods=["GET", "POST"])
@login_required
def home():
if request.method =="POST":
selected = request.form.getlist('opt')
print(selected)
return render_template("home.html", user=current_user, datas=Refs.query)
然后,经过大量研究,我还没有找到原因,当我按下提交按钮时,它会将我重定向到包含以下链接的页面:
http://127.0.0.1:5000/post?opt=fa
所以它给了我一个 404。我想知道为什么它没有将我重定向到同一页面,所以我可以通过 Flask 代码处理它。在那之后,我如何通过用户触摸的调查?我有一些问题。请帮忙