发布请求后未找到 Flask 页面

时间:2021-06-19 21:11:26

标签: forms flask http-status-code-404

我正在创建这个在线简单的 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 代码处理它。在那之后,我如何通过用户触摸的调查?我有一些问题。请帮忙

0 个答案:

没有答案