Шаблон на flask-wtf, ошибка TypeError: 'str' object is not callable
Делал шаблон для админ панели сайта, пытаюсь перейти по адресу шаблона и выдает ошибку
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
Источник: Stack Overflow на русском