Не перенаправлять на страницу Home.html после нажатия на кнопку отправить в форме - PullRequest
0 голосов
/ 27 ноября 2018

Я довольно новичок в Flask и Python и просто смотрю видео с Кори Шафера на 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 голосов
/ 27 ноября 2018

В вашем forms.py идентификатор клиента создан как обязательное поле.Но вы не упомянули об этом в своем HTML.Следовательно, форма не получает идентификатор клиента.Таким образом, каждый раз, когда вы отправляете форму, она не проверяется и переходит в «другое» состояние, когда ему просто нужно отобразить неудачное сообщение.Вы будете перенаправлены на домашнюю страницу только после подтверждения формы.

Если идентификатор клиента является основным полем в базе данных, он будет генерироваться автоматически при сохранении данных в БД, и вам не нужно создавать для него поле формы.

Если это не связано с базой данных, то в html вы должны создать ввод, чтобы также ввести идентификатор клиента.Тогда форма будет проверена, потому что идентификатор клиента был установлен как 'data required' в forms.py, что означает, что форма должна проверяться, она должна иметь значение для идентификатора клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...