路飛項目背景,contentType以及django緩存
阿新 • • 發佈:2018-12-21
連表 配置 col 開發 war 背景 標桿 versions 項目
昨日回顧:
分頁器:
普通分頁
# 普通分頁 from rest_framework.pagination import PageNumberPagination -每頁的大小(默認) -查詢的時候,按哪個字段查 -當前頁的每頁大小(用戶指定的) -每頁顯示最大條數 -寫一個類繼承分頁類,重寫屬性 -使用的時候: -實例化出一個分頁器對象 -返回值=對象.paginate_queryset(book_list, request, self) -序列化(返回值) -return序列化之後的值
偏移分頁
# 偏移分頁 fromrest_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緩存