我正在为我的网站使用html模板,并希望收集信息到我的django后端。具体来说,我想从代码的这一部分返回电子邮件地址的值
<input type="text" placeholder="Email" value="" style="height: 30px; width: 250px; border: 2px solid grey; padding: 7px; margin-top: 10px; margin-bottom: 10px; font-size: 20px;">
如果我将{{%form.email%}}
放入value=""
,它会在框内写<input id=
,并在框外写">
。
如果我将{{%form.email%}
置于html代码的这一部分后面,它将生成另一个框。但我只想用这个盒子。
我该怎么做?
答案 0 :(得分:0)
通常您希望使用Django-Form类生成字段。在那里,您还可以自定义整个字段:对于您的示例,您必须在forms.py
中创建这样的类。class EmailForm(forms.Form)
email = forms.CharField(widget=forms.EmailInput(attrs={'class': 'email-input',
'placeholder': 'Email'})
您也可以使用
{'style': 'height: 30px; width: 250px; border: 2px solid grey; padding: 7px; margin-top: 10px; margin-bottom: 10px; font-size: 20px;'}
而不是{'class': 'email-input'}
代表你的风格,但通常最好使用css类。
您班级中的email
基本上是您的整个电子邮件字段,但它会自动生成名称和ID,因此更容易使用。
现在,如果你想要后端的字段值,你必须做一个GET或POST请求(我认为在这种情况下是POST)。您将通过在要处理收到的数据的方法中使用以下模式来获取值:(工作但不是最佳)field_value = request.POST.get('fieldname')
甚至更好,正如Daniel在field_value = form.cleaned_data['fieldname']
的评论中指出的那样。
所以在你的情况下,它会是这样的:email = form.cleaned_data['email']
。这将返回键入字段的值,以供以后使用。