Sie*_*cje 9 python flask python-2.7 flask-wtforms
我有一个带有TextField,FileField的表单,我想添加一个RadioField.
我想要一个有两个选项的无线电领域,用户只能选择一个.我正在关注前两个有效的形式示例.
我的forms.py看起来像这样
from flask import Flask, request
from werkzeug import secure_filename
from flask.ext.wtf import Form, TextField, BooleanField, FileField, file_required, RadioField
from flask.ext.wtf import Required
class ImageForm(Form):
name = TextField('name', validators = [Required()])
fileName = FileField('fileName', validators=[file_required()])
certification = RadioField('certification', choices = ['option1', 'option2'])
Run Code Online (Sandbox Code Playgroud)
在我的views.py文件中
form = myForm()
if form.validate_on_submit():
name = form.name.data
fileName = secure_filename(form.fileName.file.filename)
certification = form.certification.data
Run Code Online (Sandbox Code Playgroud)
在我的.html文件中
{% block content %}
<h1>Simple Form</h1>
<form action="" method="post" name="simple" enctype="multipart/form-data">
{{form.hidden_tag()}}
<p>
Name:
{{form.name(size=80)}}
</p>
<p>
Upload a file
{{form.fileName()}}
</p>
<p>
Certification:
{{form.certification()}}
</p>
<p><input type="submit" value="Submit"></p>
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我似乎无法在网上找到使用单选按钮表单的人的例子.我在这里找到了RadioField的描述http://wtforms.simplecodes.com/docs/0.6/fields.html
当我尝试访问我的表单页面时,我得到DEBUG错误" ValueError:解压缩的值太多了 "
Sie*_*cje 26
在forms.py中,RadioField需要看起来像这样
RadioField('Label', choices=[('value','description'),('value_two','whatever')])
Run Code Online (Sandbox Code Playgroud)
选项是'description'和'whatever',提交的值分别为'value'和'value_two'.
form.certification() 不起作用。您需要迭代模板中的值:
代替:
{{ form.certification() }}
Run Code Online (Sandbox Code Playgroud)
和:
{% for subfield in form.certification %}
<tr>
<td>{{ subfield }}</td>
<td>{{ subfield.label }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15946 次 |
最近记录: |