- MVC设计模式概念
-
用一种业务逻辑,使数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面
-
- MTV 架构概念
- URL配置
- 明确 正则开头
urlpattents = [re_path(r"^orders/"),views.list] ,对应调用的是views 中的一个函数,没有括号
- 明确 正则开头
-
Views 中的函数都携带参数 request 返回 Httpresponse
- 模型过滤
- 查询集和过滤器
-
返回单个对象
-
使用 get 会抛异常,需要try ,可用filter 代替
-
使用get 时
获取单个对象,没有匹配时,会抛异常如果查询条件对应多个对象,也会抛异常
-
-
first() 和last()
- 默认情况下可以正常从QuerySet 中获取
可能会出现first和last 获取到的是相同的对象显示,手动写排序规则
- 默认情况下可以正常从QuerySet 中获取
- 使用切片,截断查询集
-
比较运算符
-
修改时区
-
关闭djiango中自定义的时区,setting 中的USE_TZ
-
在数据库中创建对应的时区表
- 设置如下
-
-
使用比较运算符
-
正向 属性名__比较运算符
- 反向 外键场景 模型名__属性名__比较运算符
- 注意 此处不用加 set ,相当于条件是个独立的查询, filter 只是用到了它的结果当作查询条件
-
-
聚合函数,对结果进行数学运算,示例为找出sage 最大的那个
- F对象
-
可以获取我们属性的值可以实现一个模型的不同属性的运算操作还可以支持算数运算
-
- Q对象
- 可以对条件进行封装
- 封装后,支持逻辑运算,与或非,& | ~
- 模型成员
- 模板
- 静态资源配置
- 创建静态文件夹 statics
- 在settings 注册STATICFILES_DIRS=[]
- 在模板中使用
- 先加载静态资源(%load static % )
- 使用(%static 'xxx' %)xxx相对路径
- 坑点:
-
仅在debug 模式可以使用以后需要自己单独处理
-
- View 视图函数
-
Request 和Response
- 302 重定向
- url = reverse("app:hello")
return HttpResponseRedirect(url)重定向到app/hello/
- url = reverse("app:hello")
-
302 临时重定向,301 永久重定向
- Cookie 会话技术
- cookie 默认不支持中文
- base64转码
- 可以加盐
- 可以加密
- cookie 加密
- esponse.set_signed_cookie("content",uname,"rock")
- cookie 解密
- uname=request.get_signed_cookie('content',salt="Rock")
- Session
- 使用base 64 编码
- 在前部添加了一个混淆字符串
- session 依赖于cookie
- 推出登录,session cookie 一起删除
- Token
- web端和移动端 都可用token 实现
-
一对一模型
- 一对多
- 模型继承
- 图片上传