将django表单值传递给html

时间:2016-05-24 18:30:51

标签: python html django forms

我正在开发一个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上获得了整个表单)

3 个答案:

答案 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