昨日回顾:

分页器:

普通分页

# 普通分页
from rest_framework.pagination import PageNumberPagination
-每页的大小(默认)
-查询的时候,按哪个字段查
-当前页的每页大小(用户指定的)
-每页显示最大条数
-写一个类继承分页类,重写属性
-使用的时候:
-实例化出一个分页器对象
-返回值=对象.paginate_queryset(book_list, request, self)
-序列化(返回值)
-return序列化之后的值

偏移分页

# 偏移分页
from rest_framework.pagination import LimitOffsetPagination
-每页的大小:default_limit
-标杆值offset
-偏移值limit
-最大偏移的数:max_limit
加密分页(速度快)
加密分页(速度快)
# 加密分页
from rest_framework.pagination import CursorPagination
-写一个类继承分页类,重写属性
-cursor_query_param:以该字段配置的值查询
-ordering 按哪个字段排序

版本控制:

-URLPathVersioning
-版本直接放在路由中,配置路由
url(r'^(?P<version>[v1|v2|v3]+)/books/$', views.Book.as_view({'get':'get_all'}),name='ttt'),
-在setting中配置
'VERSION_PARAM':'version', #根据哪个键取查询
'DEFAULT_VERSION':'v1', #默认的版本号
'ALLOWED_VERSIONS': ['v1', 'v2'], #允许的版本号
-在视图类中:局部使用
versioning_class = URLPathVersioning
-在request对象中,可以取出版本request.version
-反向解析
-因为request对象能取出版本号,内部自动填入
-url2=request.versioning_scheme.reverse('ttt',request=request)
-如果是路由有别的有名/无名分组,需要手动传过去
-QueryParameterVersioning

路飞项目背景

人员配比:
开发:
-前端vue一个人
-主站 2个人
-导师后台 1 个人
-管理员后台 1个人
ui+原型设计 1 个人
产品经理 1 个人
测试 1个人
专职导师:2个人
项目:
主站:
-课程
-课程详情
-课程章节
-课程的价格策略
-个人中心
-登录
-注册
-修改密码
-...
-购物车
-加入购物车
-修改购物车
-支付中心
-去支付
-优惠券
-6种优惠券:全站的:满减,立减,打折 每个课程:满减,立减,打折
-去支付
-支付宝支付 -推送
-微信推送
-视频播放 咱们要写的:
课程相关的,登录,购物车,支付中,支付宝支付,推送,视频播放

contentType组件

干啥用的?django内置的一个组件,方便我们快速的连表操作
在course表中:
policy = GenericRelation('PricePolicy', object_id_field='course_id', content_type_field='table_id') 在价格策略表中:
content_obj = GenericForeignKey('table_id','course_id')
--加的这两个字段都不会在数据库中生成,它只是用来查询,插入

django的缓存

全站缓存:

两个中间件:
MIDDLEWARE_CLASSES = (
‘django.middleware.cache.UpdateCacheMiddleware’, #第一
'django.middleware.common.CommonMiddleware',
‘django.middleware.cache.FetchFromCacheMiddleware’, #最后
)

单页面缓存:

-from django.views.decorators.cache import cache_page
-装饰器加载视图函数上即可
@cache_page(5)

页面局部缓存:

{% load cache %}
#第一个参数是时间,第二个参数是别名
{% cache 5 'test' %}
缓存的时间:
{{ ctime }}
{% endcache %} 缓存的位置:(只需要改配置文件)
内存
文件
数据库
redis

路飞项目背景,contentType以及django缓存的更多相关文章

  1. contenttype组件、Django缓存机制以及跨域请求

    1 昨日回顾 版本控制 *** (1)url=127.0.0.1/course/?version=v100000 1 versioning_class=QueryParameterVersioning ...

  2. ContentType组件,Django缓存机制,跨域请求

    ContentType组件 解决什么问题:表的id和数据id,来唯一确定一条数据 用: 插入数据: models:content_obj = GenericForeignKey('table_id', ...

  3. drf版本控制 和django缓存,跨域问题,

    drf版本控制 基于url的get传参方式 REST_FRAMEWORK={ # "DEFAULT_AUTHENTICATION_CLASSES":["app01.aut ...

  4. 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)

    一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...

  5. 一.rest-framework之版本控制 二、Django缓存 三、跨域问题 四、drf分页器 五、响应器 六、url控制器

    一.rest-framework之版本控制 1.作用 用于版本的控制 2.内置的版本控制 from rest_framework.versioning import QueryParameterVer ...

  6. Django缓存设置

    由于Django构建得是动态网站,每次客户端请求都要严重依赖数据库,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中, ...

  7. s11 day100路飞项目逻辑购物车一

    Luffy项目 先看练习,如下: 一. 添加购物车和查看 1. url url(r'^shoppingcar/$', shoppingcar.ShoppingCarView.as_view({&quo ...

  8. Web项目开发中用到的缓存技术

    在WEB开发中用来应付高流量最有效的办法就是用缓存技术,能有效的提高服务器负载性能,用空间换取时间.缓存一般用来 存储频繁访问的数据 临时存储耗时的计算结果 内存缓存减少磁盘IO 使用缓存的2个主要原 ...

  9. Django 2.0 学习(18):Django 缓存、信号和extra

    Django 缓存.信号和extra Django 缓存 由于Django是动态网站,所以每次请求均会去数据库进行相应的操作,当程序访问量大时,耗时必然会显著增加.最简单的解决方法是:使用缓存,缓存将 ...

随机推荐

  1. Java 面向对象 初探

    public class test { public static void main(String[] args) { // 利用new关键字创建了一个Person对象 Person p = new ...

  2. node中的ajax提交小例子

    我们看一个HTML5页面中通过AJAX请求的方式获取HTTP服务器返回数据的代码示例.由于我们把服务器的端口指定为1337,并将从端口为80的网站中运行HTML5页面,因此这是一种跨域操作,需要在HT ...

  3. node 通过指令创建一个package.json文件

      描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license ...

  4. TOTAL COMMAND自定义快捷键

  5. 2_python之路之多级菜单

    python之路之多级菜单 1.使用知识点 (1)列表,字典的使用 (2)if条件判断语句 (3)for/while循环的使用 2.代码详细 #!/usr/bin/env python # _*_ c ...

  6. C和指针 第三章--数据

    简要概述: <C和指针>第三章对数据进行了描述. 其中主要讲解了---变量的三个属性:作用域.链接属性和存储类型. 这三个属性决定了该变量在“什么地方可以使用”以及“该变量的值能够保持多久 ...

  7. 2019 最新 阿里天猫、蚂蚁、钉钉ava 面试题汇总,附答案

    Java面试前需要做足各方面的准备工作,肯定都会浏览大量的面试题,本人也不例外,这是一些最新面试题,分享给大家. Java基础 面向对象的特征:继承.封装和多态 int 和 Integer 有什么区别 ...

  8. 22_java之File对象

    01IO技术概述 * A:IO技术概述 * a: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 * b: Input * 把持久设备上的数据读取到内存中的这 ...

  9. mac 上sed

    mac上sed和liunx是不一样的,所以有些指令可能不通用,需要将mac上sed替换成gun的: Install Homebrew First, visit Homebrew homepage an ...

  10. URLDownloadToFileW

    [ilink32 Error] Error: Unresolved external 'URLDownloadToFileW' referenced from D:\USERS\PUBLIC\DOCU ...