Django表单和初始值的奇怪问题

Django表单和初始值的奇怪问题,django,django-forms,Django,Django Forms,我疯狂地试图理解为什么我在表单中使用“initial”定义的默认值没有打印在模板中。表格是这样的: class MyForm(forms.Form): # ... proximity = forms.IntegerField(required=False, initial=50) 在我的模板中: {{ myForm.proximity }} 印刷品: <input id="id_proximity" name="proximity" type="number">

我疯狂地试图理解为什么我在表单中使用“initial”定义的默认值没有打印在模板中。表格是这样的:

class MyForm(forms.Form):
    # ...
    proximity = forms.IntegerField(required=False, initial=50)
在我的模板中:

{{ myForm.proximity }}
印刷品:

<input id="id_proximity" name="proximity" type="number">
在输出中,我发现:

<input id="id_proximity" name="proximity" type="number" value="50" />

由于GET中没有数据,因此首字母被替换为None:p

您是对的。。我花了30分钟来解决:) 我们可以阅读django源代码中的django/forms/fields.py,如下所示:

# initial -- A value to use in this Field's initial display. This value
#            is *not* used as a fallback if data isn't given.

forms.Form.\u init\u第一个参数是数据,因此这意味着您设置了数据,初始值将用作回退。:)

这是什么Django版本?版本是:Django 1.6
MyForm(self.request.GET)
# initial -- A value to use in this Field's initial display. This value
#            is *not* used as a fallback if data isn't given.