1.
form组件的主要功能如下:
- 生成页面可用的HTML标签
- 对用户提交的数据进行校验
- 保留上次输入内容
1. Django Admin的简单用法: 1. 创建管理员账号 python3 manage.py createsuperuser 2. 在admin注册我们的表 在app目录下面的admin.py里面按以下语法注册 admin.site.register(models.类名) 3. 其他配置项 1. admin页面显示中文 settings.py中修改LANGUAGE_CODE = 'zh-hans' 2. 表名显示中文 类下面写如下配置项 class Meta: verbose_name = "出版社" verbose_name_plural = verbose_name 3. 字段显示中文 address = models.TextField(verbose_name="出版社地址") 2. form 1. form的作用 1. 生成HTML代码 2. 帮我们做数据有效性的校验 3. 保留上次输入内容,显示错误提示 2. form组件生成html代码 3. form组件校验数据有效性 1. 内置的校验规则 1. require=True 该字段必填 2. max_length 该字段的最大长度 3. min_length 该字段的最小长度 2. 自定义校验规则 1. phone的格式 利用内置的正则校验器 from django.core.validators import RegexValidator validators=[RegexValidator(r'^1[356789]\d{9}$', "手机号码格式不正确")], 2. 手机号的唯一性校验 手写一个校验函数 3. 使用钩子函数做校验 1. 局部钩子(hook) 在form类内部定义一个 clean_字段名() 方法 2. 全局钩子 在form类内部定义一个 clean() 方法 4. form组合如何给html标签设置默认值 1. 每一个字段设置默认值 initial="默认值" 3. model form 1. 必须继承forms.ModelForm 2. class Meta: model = "一对一关联的model类名" fields = "__all__" 3. 实例化 1. BookModelForm(instance=book_obj) 2. BookModelForm(request.POST, instance=book_obj) 4. form_obj.save()