我有这样的形式:
class PasswordForm(forms.Form):
CHOICES=[('uppercase','Uppercase'),
('lowercase','Lowercase'),
('numbers','Numbers'),]
password_length = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)],)
options = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple, choices=CHOICES,)
Run Code Online (Sandbox Code Playgroud)
如何在模板中自定义复选框字段?
我知道我怎么能用其他领域来做,比如forms.Charfield()我的password_length,只是
<form action="" method="post">
{{form.some_field}}
</form>
Run Code Online (Sandbox Code Playgroud)
但它确实适用于我MultipleChoiceField,我尝试了很多东西
{{form.uppercase}},{{form.options.choices.uppercase}}并尝试{% for %}循环.
它只是没有返回,我没有通过浏览器检查器在html中看到它.
您应该将这些选项编写为表单的字段:
class PasswordForm(forms.Form):
uppercase = forms.CharField(widget=forms.CheckboxInput())
lowercase = forms.CharField(widget=forms.CheckboxInput())
numbers = forms.CharField(widget=forms.CheckboxInput())
password_length = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)],)
Run Code Online (Sandbox Code Playgroud)
然后将表单渲染到模板,并在模板中:
{{ form.uppercase }}
Run Code Online (Sandbox Code Playgroud)
将会呈现
<input name="uppercase" type="checkbox">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |