如何在 Flask 中为每个实体显示多个表单?
How to display multiple forms per entity in Flask?
我遇到了一个逻辑问题:
假设我有一个 class foo、foo_linked_object_1 和 foo_linked_object_2。关系是:
- foo 1------m foo_linked_object_1
- foo 1------m foo_linked_object_2
我想要做的是有一个视图,显示有关某些 foo 对象的所有信息(到目前为止还不错),并且在每个 foo 下方,有两个表单允许我创建 foo_linked_object_1或 foo_linked_object_2.
我尝试了以下解决方案:
forms.py
CreateFLO1(Form):
#FLO fields ...
CreateFLO2(Form):
#FLO2 fields ...
controller.py
@app.route('/foo/<param>')
def foo_per_param(param):
foos = Foo.query.filter_by(param=param)
for foo in foos:
foo.FLO1Form = CreateFLO1()
foo.FLO2Form = CreateFLO2()
return render_template('foo.html', foos=foos)
foo.html
{% for foo in foos %}
{{ foo.infos }} <! -- etc etc -->
{{ foo.FLO1Form.field1 }}
{{ foo.FLO1Form.field2 }} <! -- etc etc, same for FLO2Form -->
Jinja returns 我出现以下错误:
UndefinedError: app.models.foo.Foo object has no attribute 'FLO1Form'
有谁知道我如何 link 每个实体的那些表格?
根据 Metmirr 的说法:
我没有得到正确的信息。
Entity.query.filter_by(param=param)
returns 一个查询对象,而
Entity.query.filter_by(param=param).all()
returns 结果集。谢谢!
我遇到了一个逻辑问题: 假设我有一个 class foo、foo_linked_object_1 和 foo_linked_object_2。关系是:
- foo 1------m foo_linked_object_1
- foo 1------m foo_linked_object_2
我想要做的是有一个视图,显示有关某些 foo 对象的所有信息(到目前为止还不错),并且在每个 foo 下方,有两个表单允许我创建 foo_linked_object_1或 foo_linked_object_2.
我尝试了以下解决方案:
forms.py
CreateFLO1(Form):
#FLO fields ...
CreateFLO2(Form):
#FLO2 fields ...
controller.py
@app.route('/foo/<param>')
def foo_per_param(param):
foos = Foo.query.filter_by(param=param)
for foo in foos:
foo.FLO1Form = CreateFLO1()
foo.FLO2Form = CreateFLO2()
return render_template('foo.html', foos=foos)
foo.html
{% for foo in foos %}
{{ foo.infos }} <! -- etc etc -->
{{ foo.FLO1Form.field1 }}
{{ foo.FLO1Form.field2 }} <! -- etc etc, same for FLO2Form -->
Jinja returns 我出现以下错误:
UndefinedError: app.models.foo.Foo object has no attribute 'FLO1Form'
有谁知道我如何 link 每个实体的那些表格?
根据 Metmirr 的说法:
我没有得到正确的信息。
Entity.query.filter_by(param=param)
returns 一个查询对象,而
Entity.query.filter_by(param=param).all()
returns 结果集。谢谢!