单击表单上的提交后未重定向到Home.html页面

时间:2018-11-27 01:53:11

标签: python flask

我对Flask和Python相当陌生,一直在观看Corey Schafer的Youtube视频以进行烧瓶开发,并根据我的特定需求对其进行定制。

填写表格后,单击“提交”按钮后,我无法重定向到主页。因此,当我单击“提交”时,它只会重新加载页面并在顶部显示“提交失败”。很抱歉,如果这是一个非常基本/显而易见的解决方法,但我只是迷路了。所有帮助将不胜感激。

再次感谢!

app.py forms.py requestAQuote.html

{% extends "template.html" %}
{% block content %}
    <div class="content-section">
        <form method="POST" action="">
            {{ form.hidden_tag() }}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Request a Quote today!</legend>
                <div class="form-group">
                    {{ form.gallons_requested.label(class="form-control-label") }}

                    {% if form.gallons_requested.errors %}
                        {{ form.gallons_requested(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.gallons_requested.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.gallons_requested(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.delivery_date.label(class="form-control-label") }}
                    {% if form.delivery_date.errors %}
                        {{ form.delivery_date(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.delivery_date.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.delivery_date(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.request_date.label(class="form-control-label") }}
                    {% if form.request_date.errors %}
                        {{ form.request_date(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.request_date.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.request_date(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.delivery_location.label(class="form-control-label") }}
                    {% if form.delivery_location.errors %}
                        {{ form.delivery_location(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.delivery_location.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.delivery_location(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.delivery_contact_name.label(class="form-control-label") }}
                    {% if form.delivery_contact_name.errors %}
                        {{ form.delivery_contact_name(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.delivery_contact_name.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.delivery_contact_name(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.delivery_contact_phone.label(class="form-control-label") }}
                    {% if form.delivery_contact_phone.errors %}
                        {{ form.delivery_contact_phone(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.delivery_contact_phone.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.delivery_contact_phone(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.delivery_contact_email.label(class="form-control-label") }}
                    {% if form.delivery_contact_email.errors %}
                        {{ form.delivery_contact_email(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.delivery_contact_email.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.delivery_contact_email(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.suggested_price.label(class="form-control-label") }}
                    {% if form.suggested_price.errors %}
                        {{ form.suggested_price(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.suggested_price.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.suggested_price(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
                <div class="form-group">
                    {{ form.total_amount_due.label(class="form-control-label") }}
                    {% if form.total_amount_due.errors %}
                        {{ form.total_amount_due(class="form-control form-control-lg is-invalid") }}
                        <div class="invalid-feedback">
                            {% for error in form.total_amount_due.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.total_amount_due(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
            </fieldset>
            <div class="form-group">
                {{ form.submit(class="btn btn-outline-info") }}
            </div>
        </form>
    </div>
{% endblock content %}

1 个答案:

答案 0 :(得分:0)

在您的forms.py中,已根据需要创建客户端ID。但是您尚未在html中提及它。因此,表单没有获取客户端ID。因此,每次提交表单时,它都不会生效,并且会进入“其他”状态,在此情况下,它只需要显示失败的消息。仅当表单通过验证后,您才会被重定向到主页。

如果客户端ID是数据库中的主字段,则在将数据保存到db中并且无需为其创建表单字段时,它将自动生成。

如果它与数据库无关,则必须在html中创建输入以也输入客户端ID。然后,表单将进行验证,因为在form.py中将客户ID设置为“需要数据”,这意味着要验证的表单必须具有客户ID的值。