p6总复习
day1
1.1 DRF视图
1.提供了定义的序列化方法,可以快速将模型类对象转换为字典。
2.多种的身份确认认证和权限认证的方式的支持(jwt)
序列化器的使用
1.进行数据的校验-----反序列
2.将模型类的对象转换为字典—序列化
3.减少代码量,提高编码效率----序列化器
序列化分为序列化和反序列化
序列化定义:
将模型类对象转为字典,然后经过Response转为json字符串--------称为序列化
反序列化定义:
将网络中的json字符串经过Request对象,转为字典或者类字典,然后经过序列化器转为模型类的对象------称为反序列化
定义模型类的序列化器,需继承
rest_framework.serializers.Serializer —序列化器
rest_framework.serializers.ModelSerializer —模型类的序列化器
模型类的定义使用字段 忘记了回来回顾一下
常用字段类型:
字段 | 字段构造方式 |
---|---|
BooleanField | BooleanField() |
NullBooleanField | NullBooleanField() |
CharField | CharField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True) |
EmailField | EmailField(max_length=None, min_length=None, allow_blank=False) |
RegexField | RegexField(regex, max_length=None, min_length=None, allow_blank=False) |
SlugField | SlugField(maxlength=50, min_length=None, allow_blank=False) 正则字段,验证正则模式 [a-zA-Z0-9-]+ |
URLField | URLField(max_length=200, min_length=None, allow_blank=False) |
UUIDField | UUIDField(format=‘hex_verbose’) format: 1) ‘hex_verbose’ 如"5ce0e9a5-5ffa-654b-cee0-1238041fb31a" 2) ‘hex’ 如 “5ce0e9a55ffa654bcee01238041fb31a” 3)‘int’ - 如: “123456789012312313134124512351145145114” 4)‘urn’ 如: “urn:uuid:5ce0e9a5-5ffa-654b-cee0-1238041fb31a” |
IPAddressField | IPAddressField(protocol=‘both’, unpack_ipv4=False, **options) |
IntegerField | IntegerField(max_value=None, min_value=None) |
FloatField | FloatField(max_value=None, min_value=None) |
DecimalField | DecimalField(max_digits, decimal_places, coerce_to_string=None, max_value=None, min_value=None) max_digits: 最多位数 decimal_palces: 小数点位置 |
DateField | DateField(format=api_settings.DATE_FORMAT, input_formats=None) |
TimeField | TimeField(format=api_settings.TIME_FORMAT, input_formats=None) |
DurationField | DurationField() |
ChoiceField | ChoiceField(choices) choices与Django的用法相同 |
MultipleChoiceField | MultipleChoiceField(choices) |
FileField | FileField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL) |
ImageField | ImageField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL) |
ListField | ListField(child=, min_length=None, max_length=None) |
DictField | DictField(child=) |
选项参数:
参数名称 | 作用 |
---|---|
max_length | 最大长度:在反序列化时进行输入最大长度校验 |
min_lenght | 最小长度:在反序列化时进行输入最小长度校验 |
allow_blank | 是否允许为空:在反序列化时允许传空白字符串,默认不允许 |
trim_whitespace | 是否截断左右空白字符,默认True |
max_value | 最大值:在反序列化时进行输入最大值校验 |
min_value | 最小值:在反序列化时进行输入最小值校验 |
通用参数:
参数名称 | 作用 |
---|---|
read_only | 表明该字段仅用于序列化输出,默认False |
write_only | 表明该字段仅用于反序列化输入,默认False |
required | 表明该字段在反序列化时必须输入,默认True |
default | 反序列化时使用的默认值,如果不指明,在传递时默认值为0 |
allow_null | 表明该字段是否允许传入None,默认False |
validators | 该字段使用的验证器 自己定义函数,实现更加复杂的数据校验 |
error_messages | 包含错误编号与错误信息的字典 |
label | 用于HTML展示API页面时,显示的字段名称 |
help_text | 用于HTML展示API页面时,显示的字段帮助提示信息 |
day2
Element-ui的使用
在里面找相应的样式,把里面的element-ui 的代码复制过来,进行修改使用。
2 Element-UI安装及配置
安装
npm install --save element-ui
在main.js下配置element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
到这里第二天就结束了
day3
1 后台管理介绍
商城后台管理系统一般分以下模块:商品管理、会员管理、订单管理、用户管理、角色权限 、报表业务、库存管理和广告业务等。
3 仓库创建
3.1 Git回顾
git简介
4 git基本操作
创建仓库
在项目根目录下执行如下:
git init
或者直接克隆远程仓库:
git clone 远端仓库地址
配置签名
局部配置
git config user.name "laufing"
git config user.email "123@163.com"
全局配置
git config --global user.name "自己码云的名字/自己码云时的手机号"
git config --global user.email "自己在码云上认证过的邮箱"
提交版本
# 将一个文件增加到暂存区
git add test.txt
# 将所有文件增加到暂存区
git add ./
# 提交版本 到本地仓库
git commit -m '版本号或描述信息'
查看日志
git log
git log --oneline # 日志过长时,按行显示
git reflog # 历史操作
版本回退
git reset --hard HEAD^ # 回退到当前版本的前一个版本 HEAD^^表示回退到当前版本的前两个版本
git reset --hard HEAD`1 # 回退到当前版本的前一个版本 HEAD`5表示回退到当前版本的前5个版本
git reset --hard 版本号序号 # 回退到指定的版本
查看状态
git status
撤消 工作区 的修改
git checkout -- <文件名>
撤消暂存区的修改
git reset HEAD <文件名> # 先撤消暂存区的修改,从暂存区撤回
git checkout -- <文件名> # 再撤消工作区修改
对比文件的内容
对比本地仓库(HEAD) 与工作区文件的差异
git diff HEAD -- <文件名>
对比两个版本之间某个文件的不同
git diff HEAD HEAD^ -- <文件名>
删除文件
rm <文件名>
第三天内容也就到此结束了