文章目录
- 10.6 重写样式
- 10.7 判断数据是否合法
- 10.8 保存内容至数据库
- 10.9 修改入职时间
- 10.10 错误提示
- 10.11 重写错误信息
- 往期回顾
10.6 重写样式
-
注意:因为他框架都已经给你写好了,所以如果要使用样式的话可能要自己重新定义框架来进行修改
-
他有两种方式,一种是单独修改一种是批量修改
-
单个修改
class user_mode(forms.ModelForm): class Meta: model = models.User_Info fields = ["name", "password", "age", "gender", "depart"] widgets = { "name":forms.TextInput(attrs={"class": "form-control"}), "password": forms.TextInput(attrs={"class": "form-control"}), "age": forms.TextInput(attrs={"class": "form-control"}), }
这里相当于重写了他内部的"规则"
-
批量修改
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 循环找到所有插件,添加了class="form-control" for name, field in self.fields.items(): print(name, field) field.widget.attrs = {"class": "form-control"}
class user_mode(forms.ModelForm): class Meta: model = models.User_Info fields = ["name", "password", "age", "gender", "depart"] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 循环找到所有插件,添加了class="form-control" for name, field in self.fields.items(): print(name, field) field.widget.attrs = {"class": "form-control"}
-
10.7 判断数据是否合法
# 当校验数据正确时
if form.is_valid():
pass
else:
pass
10.8 保存内容至数据库
# 你定义了那个类,就会把类存储到对应数据中
表名.save()
def form_user_add(request):
if request.method == 'GET':
form = user_mode()
return render(request, "form.html", {'form': form})
form = user_mode(data=request.POST)
if form.is_valid():
form.save()
return redirect("/nima")
else:
pass
10.9 修改入职时间
if name == 'create_time':
field.widget.input_type = 'date'
class user_mode(forms.ModelForm):
class Meta:
model = models.User_Info
fields = ["name", "password", "age", "gender", "depart", "account", "create_time"]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 循环找到所有插件,添加了class="form-control"
for name, field in self.fields.items():
print(name, field)
field.widget.attrs = {"class": "form-control"}
if name == 'create_time':
field.widget.input_type = 'date'
10.10 错误提示
<span style="color: red">{{ foo.errors.0 }}</span>
novalidate -- 关掉网络校验
<form class="form-inline" method="post" novalidate>
{% csrf_token %}
{% csrf_token %}
{% for foo in form %}
{{ foo.label }} : {{ foo }}
<span style="color: red">{{ foo.errors.0 }}</span>
<div></div>
{% endfor %}
<button type="submit" class="btn btn-primary">提交</button>
</form>
def form_user_add(request):
if request.method == 'GET':
form = user_mode()
return render(request, "form.html", {'form': form})
form = user_mode(data=request.POST)
if form.is_valid():
form.save()
return redirect("/nima")
return render(request, "form.html", {'form': form})
10.11 重写错误信息
- 限制字数
name = forms.CharField(min_length=3, label="用户名")
class user_mode(forms.ModelForm):
name = forms.CharField(min_length=3, label="用户名")
class Meta:
model = models.User_Info
fields = ["name", "password", "age", "gender", "depart", "account", "create_time"]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 循环找到所有插件,添加了class="form-control"
for name, field in self.fields.items():
print(name, field)
field.widget.attrs = {"class": "form-control"}
if name == 'create_time':
field.widget.input_type = 'date'
往期回顾
1.【快速开发网站】
2.【浏览器能识别的标签1】
3.【浏览器能识别的标签2】
4.【浏览器能识别的标签3】
5.【浏览器能识别的标签4】
6.【案例1:用户注册】
7.【案例2:用户注册改进】
8.【快速了解 CSS】
9.【常用选择器概念讲解】
10.【CSS基础样式介绍1】
11.【CSS基础样式介绍2】
12.【CSS基础样式介绍3】
13.【CSS基础样式介绍3】
14.【案例 小米商城头标】
15.【案例 小米商城头标总结】
16.【案例 小米商城二级菜单】
17.【案例 商品推荐部分】
18.【伪类简单了解】
19.【position】
20.【案例 小米商城中app图标代码】
21.【边框及总结】
22.【BootSrap初了解】
23.【BootSrap的目录栏】
24.【BootSrap的栅格系统】
25.【案例 博客案例】
26.【案例 登录】
27.【案例 后台管理样例】
28.【图标】
29.【BootStrap依赖】
30.【javascript初了解】
31.【jJavaScript的变量】
32.【JavaScript的字符串类型】
33.【JavaScript的数组介绍】
34.【案例 动态数据】
35.【javascript 对象(字典)】
36.【案例 动态表格】
37.【Javascript的条件语句和函数】
38.【DOM初了解】
39.【DOM的事件了解】
40.【jQuery初了解】
41.【jQuery寻找标签】
42.【jQuery寻找标签2】
43.【jQuery寻找标签(间接寻找)】
44.【案例 菜单的切换】
45.【案例 只能打开一个菜单】
46.【jQuery 简单操作】
47.【案例 动态创建数据】
48.【案例 点击获取文本】
49.【案例 点击删除文本】
50.【案例 表格操作】
51.【案例 添加页面】
52.【初识MySQL】
53.【MySQL命令介绍一】
54.【MySQL命令介绍二】
55.【MySQL命令介绍三】
56.【案例:员工管理】
57.【案例 Flask+MySQL新增用户】
58.【案例 Flask+MySQL查询所有用户】
59.【初识 django】
60.【django的快速上手】
61.【django的模板语法】
62.【django的获取请求与响应】
63.【案例 用户登录】
64.【django中数据库操作】
65.【django中数据库操作–创建与删除表】
66.【django中数据库操作–操作表中的数据】
67.【案例 用户管理】
68.【A 案例: 员工管理系统1】
69.【A 案例: 员工管理系统2】
70.【A 案例: 员工管理系统3】
71.【A 案例: 员工管理系统4】
72.【A 案例: 员工管理系统5】
73.【A 案例: 员工管理系统6】
74.【A 案例: 员工管理系统7】