【发布时间】:2016-02-14 10:24:54
【问题描述】:
我已经通过了“Tango with Django”教程,但仍然没有得到一件事 - 为什么我们需要在 Django 模板中使用隐藏字段。
例如,如果我有代码
class CategoryForm(forms.ModelForm):
name = forms.CharField(max_length=128, help_text="Please enter the category name.")
views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
likes = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
好的,我知道了,views 和 likes 不会由用户在表单中填写,因此它们是隐藏的。 但是,在模板中,在表单内部我们有这样的内容:
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% for field in form.visible_fields %}
{{ field.errors }}
{{ field.help_text }}
{{ field }}
{% endfor %}
为什么我们需要第 2 行和第 3 行?我们需要它们吗?
【问题讨论】:
标签: python django django-forms django-templates