我正在尝试从数据库中读取列表,填充变量并在列表中使用该变量。
我正在使用Flask WTF,python 2.7
应用程序的构建方式:
form.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包含来自db的列表
form.html非常简单
<form method="POST" action="/">
{{ form.csrf_token }}
{{ source_id.label }} {{ source_id }}
<input type="submit" value="Select">
如何将SOURCE初始化为源以获取列表? 现在,我总是得到SOURCE为空= [],并且没有带有source_id的列表
答案 0 :(得分:0)
我找到了一种解决方法:
在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 = [])