1、contentType組件前端
一、幹什麼用的?
是一個django內置的一個組件,方便咱們快速的連表操做
二、這兩個字段都不會在數據庫中生成,他只是用來查詢,插入的python
-在course表中: policy = GenericRelation('PricePolicy', object_id_field='course_id', content_type_field='tyble_id') -在價格策略表中: content_obj = GenericForeignKey('table_id', 'course_id')
2、Django的緩存:Django是一個大而全的好東西數據庫
一、緩存機制的 優缺點:
優勢:把一些常常訪問的頁面放入緩存當中,請求來了,直接到緩存中拿數據
缺點:緩存的數據不能實時更新
二、Django緩存機制有什麼用?django
提升網站的訪問效率,有如下幾種方式:前端用cdn來作,後臺能夠用緩存,數據庫能夠來優化,從三個角度分析,每一個層面可以幹什麼緩存
三、Django中的6種緩存方式:用的比較常見的有文件緩存和Mecache緩存
(1)開發調試緩存---> 此模式爲開發調試使用,實際上不執行任何操做
(2)內存緩存---> 將緩存內容保存至內存區域中
(3)文件緩存---> 把緩存數據存儲在文件中
(4)數據庫緩存---> 把緩存數據存儲在數據庫中
(5)Memcache緩存(使用python-memcacheed模塊鏈接memcache)---> Memcache是Django原生支持緩存系統,須要下載Memcached支持庫python-Memcached或pylibme
(6)Memcache(使用pylibmc模塊)---> 是基於內存的緩存,數據庫存儲在內存中,
因此若是服務器死機的話,數據就會丟失,因此Memcached通常與其餘緩存配合使用
四、Django的基本用法是作什麼用?
Django提供了不一樣粒度的緩存,能夠緩存某個頁面,能夠只緩存一個頁面的某一個部分,甚至能夠緩存整個網站,指定將緩存數據保存多久
五、幾種緩存機制:服務器
(1)全站緩存:兩個中間件函數
MIDDLEWARE_CLASSES = ( ‘django.middleware.cache.UpdateCacheMiddleware’, #第一 'django.middleware.common.CommonMiddleware', ‘django.middleware.cache.FetchFromCacheMiddleware’, #最後 )
(2)單頁面緩存:優化
from django.views.decorators.cache import cache_page # 裝飾器加載視圖函數上便可 @cache_page(5)
(3)頁面局部緩存:網站
{% load cache %} # 第一個參數是時間,第二個參數是別名 {% cache 5 'test' %} 緩存的時間: {{ ctime }} {% endcache %}