Gri*_*Mel 5 python django django-templates django-forms
我已经通过了“ 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)
Run Code Online (Sandbox Code Playgroud)
好的,我明白了,用户不会以表格的形式填充视图和喜欢的内容,因此它们是隐藏的。但是,在模板中,表单内部有类似以下内容:
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% for field in form.visible_fields %}
{{ field.errors }}
{{ field.help_text }}
{{ field }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
为什么我们需要第二行和第三行?我们需要它们吗?
很难确切地说出原因,因为原因可能有很多。
但从广义上讲,这两个字段可能可以通过 javascript 在客户端进行修改或访问,然后也可以提交回服务器。
如果您没有执行任何操作,那么您可能不需要它们:)但是您可能需要担心在保存对其他字段的更改时不会覆盖这些值。
| 归档时间: |
|
| 查看次数: |
5071 次 |
| 最近记录: |