Колба: пропустить несколько блоков - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь написать простой сервис с колбой, но у меня есть некоторые проблемы.Я пытаюсь отобразить шаблон после отправки, но он не переходит на некоторые блоки

Основной код

@app.route('/', methods=['GET', 'POST'])
def main_page():
    main_form = Main_Submit_Form()
    text_form = Checking_Text_Form()
    image_form = Checking_Image_Form()

    if main_form.validate_on_submit():
        if main_form.name_checking.data:
            if text_form.validate_on_submit():
                request_name = str(text_form.checking_name.data)
                results = model.predict_name(request_name)
                return render_template('text_data.html', request_name=request_name, results=results)
            return render_template('login.html', title='Sign In', form=text_form)
        if main_form.image_checking.data:
            if image_form.validate_on_submit():
                pass
    return render_template('main.html', form=main_form)

Основная форма выглядит как

from flask_wtf import FlaskForm
from wtforms import SubmitField

class Main_Submit_Form(FlaskForm):
    name_checking = SubmitField(label='Проверка Торгового наименования')
    image_checking = SubmitField(label='Проверка Логотипа')

Текстовая формавыглядит как

from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, FileField
from wtforms.validators import DataRequired

class Checking_Text_Form(FlaskForm):
    checking_name = StringField('Введите наименование компании', validators=[DataRequired()])
    submit_text = SubmitField('Проверить')

Основной html

{% extends "base.html" %}

{% block content %}
    <h2>Проверка товарного знака</h2>
    <form action="" method="post" novalidate>
        {{ form.hidden_tag() }}
        <p class="text">{{ form.name_checking() }}</p>
        <p class="image">{{ form.image_checking() }}</p>
    </form>
{% endblock %}

html логина

{% extends "base.html" %}

{% block content %}
    <h2>Проверка товарного знака</h2>
    <form action="" method="post" novalidate>
        {{ form.hidden_tag() }}
        <p>
            {{ form.checking_name.label }}<br>
            {{ form.checking_name(size=32) }}
        </p>
        <p>{{ form.submit_text() }}</p>
    </form>
{% endblock %}

html текстовых данных

{% extends "base.html" %}

{% block content %}
    <h2>Результаты по запросу: {{ request_name }}</h2>
    {% for result in results %}
    <div><p>{{ result.company_name }}, сходство: <b>{{ result.cosine_sim }}</b></p></div>
    {% endfor %}
{% endblock %}

Я не могу войти взаблокировать с проверкой if text_from.validate_on_submit() и я не могу понять почему.Как я могу войти в этот блок после рендеринга login.html шаблона?И есть ли способ упростить этот код?Я не думаю, что это хороший пример

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