Шаблон на flask-wtf, ошибка TypeError: 'str' object is not callable

Рейтинг: 0Ответов: 0Опубликовано: 16.04.2023

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

TypeError: 'str' object is not callable

Есть форма для шаблона

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


class AdminForm(FlaskForm):
    title = StringField('Заголовок', validators=[DataRequired()])
    content = TextAreaField("Содержание")
    submit = SubmitField('Применить')

есть .html шаблон admin.html

{% extends "base.html" %}

{% block content %}
<h1>Добавление новости</h1>
<form action="" method="post">
    {{ form.hidden_tag() }}
    <p>
        {{ form.title.label }}<br>
        {{ form.title(class="form-control") }}<br>
        {% for error in form.title.errors %}
            <p class="alert alert-danger" role="alert">
                {{ error }}
            </p>
        {% endfor %}
    </p>
    <p>
        {{ form.content.label }}<br>
        {{ form.content(class="form-control") }}<br>
        {% for error in form.content.errors %}
            <p content="alert alert-danger" role="alert">
                {{ error }}
            </p>
        {% endfor %}
    </p>
    <p>{{ form.submit(type="submit", class="btn btn-primary") }}</p>
    {{message}}
</form>
{% endblock %}

и обработчик

@app.route('/editing_text/<company>/<int:id>', methods=['GET', 'POST'])
@login_required
def editing_text(company, id):
    form = AdminForm()
    if company == "google":
        company_table = Google
    elif company == "yandex":
        company_table = Yandex
    else:
        company_table = OpenAI
    db_sess = db_session.create_session()
    text = db_sess.query(company_table).filter(company_table.id == id).first()
    if request.method == "GET":
        if text:
            form.title = text.title
            form.content = text.description
        else:
            abort(404)
    if form.validate_on_submit():
        if text:
            text.title = form.title.data
            text.description = form.content.data
            db_sess.commit()
            return redirect(f'/')
        else:
            abort(404)
    return render_template("admin.html", form=form) 

В шаблон должен поставится текст в поле для редактирования и после нажатия кнопки значения в полях должны записаться в databse.db

Ответы

Ответов пока нет.