初始化要在 SelectField 中使用的 Flask WTFForm class 变量
Initializing a Flask WTFForm class variable to be used in SelectField
我正在尝试从数据库中读取一个列表,填充一个变量并在列表中使用这个变量。
我正在使用 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 初始化为 sources 以获取列表?
现在我总是得到 SOURCE empty = [] and no list with 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 = [])
我正在尝试从数据库中读取一个列表,填充一个变量并在列表中使用这个变量。
我正在使用 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 初始化为 sources 以获取列表? 现在我总是得到 SOURCE empty = [] and no list with 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 = [])