gpt4 book ai didi

python - 带 Bootstrap 的 django 表单

转载 作者:行者123 更新时间:2023-12-01 03:58:34 25 4
gpt4 key购买 nike

我正在尝试在 django 中处理表单。我是PHP出身,从来没有使用过任何框架。我曾经在 HTML 和后端中自己编写表单的所有字段。我用自己的方法来验证它们。

现在,来到 django,它有了模型形式。但是,我也想在我的代码中使用 Bootstrap 。所以,我写了这样的 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>
...
...

关于python - 带 Bootstrap 的 django 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37012345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com