Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何自定义django表单的html_Javascript_Jquery_Html_Css_Django - Fatal编程技术网

Javascript 如何自定义django表单的html

Javascript 如何自定义django表单的html,javascript,jquery,html,css,django,Javascript,Jquery,Html,Css,Django,我正在为我的网站使用一个html模板,并希望将信息收集到django后端。具体来说,我想从这部分代码中返回email address的值 <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;"&

我正在为我的网站使用一个html模板,并希望将信息收集到django后端。具体来说,我想从这部分代码中返回email address的值

<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=,它将写入通常您希望使用Django表单类生成字段。在这里,您还可以自定义整个字段:例如,您必须在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'}而不是{'class':'email input'},但是通常使用css类更好

类中的电子邮件基本上是整个电子邮件字段,但它会自动生成名称和id,因此更易于使用

现在,如果你想在后端得到你的字段值,你必须做一个GET或POST请求,我认为在本例中是POST。在处理接收到的数据的方法中,您将使用以下模式来获得值:有效但不是最佳字段\值=请求。POST。get'fieldname',甚至更好,正如Daniel在注释中指出的那样,字段\值=表单。清除\数据['fieldname']


所以在您的例子中,它是这样的:email=form.cleaned_data['email']。这将返回在字段中键入的值,供以后后端使用。

您希望在表单字段中自定义什么?HttpResponseRedirect'/Thank/'?我不想在HttpResponseRedirect'/Thank/'上自定义任何内容。那是另一个问题,我的错。我想自定义html代码,创建我想要的框样式,从中可以将用户生成的值返回到后端表单。表单的要点是,您应该使用它在验证后通过form.cleaned_data['fieldname']访问发布的数据,而不是直接访问request.POST数据。非常感谢大家!对于我的测试页面来说,它确实有效——但在真实页面上却不行。我认为代码基本相同,但我不知道为什么我真实页面上的代码不能将值存储到数据库中。测试页面代码如下:{%csrf_token%}{{form.non_field_errors}{{{form.email.errors}}您的电子邮件:真实页面代码如下:{%csrf_-token%}{{form.non_-field_-errors}{{form.email.errors}}在视图端,它被更正为您所说的方式:email=form.cleaned_-data['email'],正如我所说,它对测试页面起作用