先了解下官方文件的介紹
django包含了乙個已經安裝應用的登錄檔,這個登錄檔儲存著配置資訊以及用來自省,同時也維護著可用模型的列表。
原始碼面前見真相:
這是乙個登錄檔,儲存著已安裝應用的配置資訊,同時也跟蹤著模型,例如提供reverse-relations。
初始化的主要屬性:
主要方法:
ifself.ready: #該登錄檔是否已經被填充
return
#populate() might be called by two threads in parallel on servers
#that create threads before initializing the wsgi callable.
# populate()在初始化wsgi呼叫之前,可能會被會建立執行緒的伺服器上的兩個並行的執行緒呼叫。
with self._lock:
#_lock()為theading.lock()物件,在with上下文管理器中自動獲取鎖,處理過後,自動釋放鎖。
ifself.ready:
return##
if
raise runtimeerror("
populate() isn't reentrant")
#for entry in
if
else
raise
improperlyconfigured(
"""duplicates: %s
# counts =counter(
duplicates =[
name
for name, count in counts.most_common() if count > 1]
ifduplicates:
raise
improperlyconfigured(
"""duplicates: %s
" % ", "
.join(duplicates))
#phase 2: import models modules.
# 匯入模型模組
self.clear_cache()
self.models_ready =true
# self.ready = true
Redux createStore原始碼學習
redux apiexport原始碼結構上面我們看到了redux的api和原始碼結構,看的出來,warning.js和index.js不用解析,都看得懂,關鍵時其餘的幾個module,那我們從最重要的createstore講起。export var actiontypes 首先定義了乙個action...
pytorch geometric 原始碼學習
作者大神真的太屌了,膜拜,工程實現能力太強了 本文希望能夠記錄學習其原始碼的過程 data dataset 部分 涉及優化?property 一種python內建裝飾器,可以將乙個成員函式當成成員變數來訪問,例如 class planetoid inmemorydataset url def ini...
Django原始碼解析 middleware
1.middleware簡介 django的middleware的概念相當於ssh框架裡面的filter的概念。中間鍵的作用就是對所有的request,在request前,和在response後做一定的處理。django的中間鍵型別分為五種 我們在自定義中間鍵的時候,至少需要實現上面的五個函式之一。...