1. 程式人生 > >路飛項目背景,contentType以及django緩存

路飛項目背景,contentType以及django緩存

連表 配置 col 開發 war 背景 標桿 versions 項目

昨日回顧:

分頁器:

普通分頁

# 普通分頁
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緩存