我正在开发一个Django项目,我有一个带有用户名字段的表单。我试图使用form.fields ['用户名']从表单中传递用户名(只是值而不是form.username给出的整个字段)但是我收到以下错误:
Could not parse the remainder: '['username']' from 'form.fields['username']'
我的HTML是:
{{form.fields['username']}}
我的表格是:
class RegisterationForm (forms.Form):
first_name = forms.CharField(initial = 'eg. John',widget=forms.TextInput(attrs={'class' : 'form-control'}))
last_name = forms.CharField(initial = 'eg. lennon',widget=forms.TextInput(attrs={'class' : 'form-control'}))
username = forms.CharField(initial = 'eg. J.Lennon',widget=forms.TextInput(attrs={'class' : 'form-control'}))
email = forms.EmailField(initial = 'form: example@something.com',widget=forms.TextInput(attrs={'class' : 'form-control'}))
password = forms.CharField(initial = '******',widget=forms.TextInput(attrs={'class' : 'form-control'}))
password2 = forms.CharField(initial = '******',widget=forms.TextInput(attrs={'class' : 'form-control'}))
我的表单没有限制,但由于它具有初始值,我希望在form.fields ['用户名']中看到初始值但我仍然会收到错误。我从视图函数btw传递了表单。 (当我刚刚放入{{form}}
时,我确实在我的HTML上获得了整个表单)
答案 0 :(得分:3)
正确的方法是{{form.NAME_OF_THE_FIELD}}
,所以对你来说应该是{{form.username}}
编辑:
然后要访问用户名值,它应该是{{ form.username.value }}
答案 1 :(得分:1)
正如@ddalu5提到的HTML正确命令是
{{from.username.value}}
有趣的是,我无法在任何地方找到它。
答案 2 :(得分:0)
{{form.fields['username']}}
是无效的django模板语法。您应该使用{{ form.name_of_field }}
代替。
检查django doc render form fields manually。
你不能使用[]
在django模板中进行dict查找,只有.
查找。检查django doc the sequence of dot lookup in django template。