昨日回顾:

分页器:

普通分页

# 普通分页
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. Windows远程桌面连接CentOS 7

    1. 安装tigervnc-server yum install tigervnc-server 2. 设置vncserver服务器 将默认提供的文件复制到/etc/systemd/system,命令 ...

  2. 线程之死锁、递归锁、信号量、事件Event 、定时器

    1.死锁的现象 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相 ...

  3. ISIS与OSPF的区别与联系

    共同之处: 1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中 2 都是用了一种实现路由选择信息交换相似机制 3 都在广播网络中选择指定路由器来控制扩 ...

  4. 用Jmeter制造软件测试数据

    在测试过程难免会遇到一些需要大量测试数据的情况,如果数据没有太多的需求,或者需求本身比较简单,这时候我们可以用Jmeter参数化来实现(建议用badboy录制) 首先,我们可以通过badboy来录制实 ...

  5. Python小知识点(4)--模块相关

    1.模块: 定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组 ...

  6. Spring实战之环境与profile

    1.配置profile bean Spring为环境相关的bean所提供的解决方案其实与构建时的方案没有太大的差别.当然,在这个过程中需要根据环境决定该创建哪个bean和不创建哪个bean.不过Spr ...

  7. Subversion Self Signed Certificates

    When connecting to Subversion repositories using SSL connections the SVN client checks the server ce ...

  8. ubuntu下永久修改DNS

    通过修改: sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的) 在里面插入: nameserver 8.8.8.8 nameserver 8.8 ...

  9. Eclipse将控制台输出信息保存为文件

    当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志 ...

  10. MongoDB数据仓储

    本篇是作为另一篇随笔的一部分‘搭建一个Web API项目’ MogonDB官网:https://www.mongodb.org/ 安装过程参考园友的分享http://www.cnblogs.com/l ...