我正在尝试从数据库读取列表,填充变量并在列表中使用该变量。
我正在使用 Flask WTF,python 2.7
应用程序的构建方式:
表单.py
class NewStatusForm(Form):
SOURCE=[]
source_id = SelectField('Source Code', [DataRequired()],
choices = OrderedDict(SOURCE),prepend_blank = False)
def __init__(self,**kwargs):
# Call Flask-SQLAlchemy's constructor.
super(NewStatusForm, self).__init__(**kwargs)
for key, value in kwargs.iteritems():
if key=='sources':
SOURCE=value
我希望变量 SOURCE 保存数据库中的列表
views.py 看起来像:
@status_blueprint.route('/status/new', methods = ['GET', 'POST'])
def status_new()
form =
NewStatusForm(obj=status, sources=global_list_of_sources)
global_list_of_sources 包含来自数据库的列表
form.html 非常简单
<form method="POST" action="/">
{{ form.csrf_token }}
{{ source_id.label }} {{ source_id }}
<input type="submit" value="Select">
如何将 SOURCE 初始化为源以获得列表?现在我总是得到 SOURCE 空 = [] 并且没有带有 source_id 的列表
我找到了解决方法:
在views.py中
form = NewStatusForm(obj = status)
form.source_id.choices=OrderedDict(global_list_of_sources),prepend_blank = False)
在 forms.py 中:
source_id = SelectField('Source Code', [DataRequired()],choices = [])
我是一名优秀的程序员,十分优秀!