客户关系管理系统
表结构的设计
-
客户表
-
用户表
-
校区表
-
部门表
-
跟进记录表
-
报名表
-
缴费表
班主任
-
班级表
-
课程记录表
-
学习记录表
登录注册
注册—— modelform
from django import forms
class Form(forms.ModelForm):
class Meta:
model = models.xxx
fields = "__all__" # ['name','pwd']
exclude = ['is_active']
def clean_字段名(self):
# 校验规则
# 通过 返回当前字段的值
# 不通过 抛出异常
# raise ValidationError('xx')
def clean(self):
# 校验规则
# 通过 返回所有字段的值 self.cleaned_data
# 不通过 抛出异常
# self.add_error('re_password', '两次密码不一致!!')
# raise ValidationError('xx') "__all__"
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 自定义的操作
for name, field in self.fields.items():
# print(name, field)
if isinstance(field, (forms.BooleanField, MultiSelectFormField)):
continue
field.widget.attrs['class'] = 'form-control'
field.choices = [(),()]
# 新增
def change(request):
form_obj = Form()
if request.method =='POST':
form_obj = Form(request.POST)
if form_obj.is_valid(): # 对数据做校验的
form_obj.save()
# 返回展示页面
return render(request,'form.html',{'form_obj':form_obj})
# 编辑
def change(request,pk):
obj = models.XXX.objects.filter(pk=pk).first()
form_obj = Form(instance=obj)
if request.method =='POST':
form_obj = Form(request.POST,instance=obj)
if form_obj.is_valid(): # 对数据做校验的
form_obj.save()
# 返回展示页面
return render(request,'form.html',{'form_obj':form_obj})
# form.html
{% for field in form_obj %}
{{ field.label }} _> 提示
{{ field.id_for_label }} _> input框的id
{{