[英]django form with bootstrap
我正在尝试使用Django处理表单。 我来自PHP背景,从未使用过任何框架。 我曾经用HTML以及后端自己编写表单的所有字段。 我使用自己的方法来验证它们。
现在,来到Django,它具有模型形式。 但是,我也想在代码中使用引导程序。 所以,我写了这样的HTML代码:
<div class='form-group'>
<label class='control-label col-md-2 col-md-offset-2' for='id_email'>Contact</label>
<div class='col-md-6'>
<div class='form-group'>
<div class='col-md-11'>
<input class='form-control' id='id_email' placeholder='E-mail' type='text'>
</div>
</div>
<div class='form-group internal'>
<div class='col-md-11'>
<input class='form-control' id='id_phone' placeholder='Phone: (xxx) - xxx xxxx' type='text'>
</div>
</div>
</div>
</div>
现在,我想在后端对其进行验证。 我的模型如下:
class Student(models.Model):
def __str__(self):
return self.name
name = models.CharField(max_length=200)
enrollment_no = models.CharField(max_length=10)
batch = models.CharField(max_length=4)
father_income = models.IntegerField(max_length=100)
email = models.CharField(max_length=1000)
mobile_number = models.CharField(max_length=1000)
现在,验证以上表格的最佳方法是什么? 请帮我解决这个问题。
对于表单,可以使用django的模型表单。 您可以使用class Meta
将一些定义添加到模型表单中:
class StudentForm(forms.ModelForm):
class Meta:
model = Student
fields = [
'name', 'enrollment_no', # etc...
]
widgets = {
'name': forms.TextInput( attrs={ 'class': 'form-control', 'placeholder': 'Title', 'required': True, } ),
'enrollment_no': # etc...
}
# you can also override validation/clean/save/etc methods here
*注意-由于您的所有字段都是必填字段(根据您的模型,并且因为我们在此处使用的是模型表格),因此django将验证是否要求所有字段。
然后,在模板中(假设您将上下文中的表单实例作为form
传递给模板),您可以像这样访问每个字段:
...
...
<div class='col-md-11'>
{{ form.name }}
</div>
...
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.