【发布时间】:2014-05-08 03:03:55
【问题描述】:
我正在尝试在其中一个字段显示“MATH&142”的情况下填充完整的表单。这似乎适用于某些领域,而不适用于其他领域。
代码如下:
def formFill():
@app.route('/formFill', methods=['GET', 'POST'])
form = cifForm()
if form.courseNum.data == 'MATH& 142':
form.courseTitle.data = 'Precalculus II : Trigonometry'
form.publishInCollegeCatalog.data = True #NOT WORKING - Radio Field
form.numCredit.data = int(5) #NOT WORKING - Integer Field
class cifForm(Form):
courseTitle = StringField('Course Title')
publishInCollegeCatalog = RadioField('Publish in college catalog?', choices=[(True,'Yes'),(False,'No')], )
numCredit = IntegerField('Credits')
submit = SubmitField('Submit')
我尝试在提交时打印出一些值,并注意到一些有趣的类型
@app.route('/formFill', methods=['GET', 'POST'])
def formFill():
form = cifForm()
if form.courseNum.data == 'MATH& 142':
form.courseTitle.data = 'Precalculus II : Trigonometry'
form.publishInCollegeCatalog.data = True# NOT WORKING
print form.numCredit.data
print type(form.numCredit.data)
print form.creditIsVariable.data
print type(form.numCredit.data)
控制台:
5
<type 'int'>
False
<type 'int'>
当我以编程方式设置它们时,我也打印了:
@app.route('/formFill', methods=['GET', 'POST'])
def formFill():
form = cifForm()
if form.courseNum.data == 'MATH& 142':
form.courseTitle.data = 'Precalculus II : Trigonometry'
form.publishInCollegeCatalog.data = True# NOT WORKING
form.numCredit.data = int(5)
print form.numCredit.data
print type(form.numCredit.data)
form.creditIsVariable.data = bool(False) #: NOT WORKING
print form.creditIsVariable.data
print type(form.numCredit.data)
控制台:
5
<type 'int'>
False
<type 'int'>
输出是相同的,变量赋值有效,但我没有在呈现的表单中看到这些值。
【问题讨论】:
标签: python flask jinja2 wtforms