Django中Settings中Templates的路徑設置


## mysite/mysite/settings.py
## mysite是項目名
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # templates 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]

這個templates文件夾是放在project的目錄下面的,是項目中或者說項目中所有的應用公用的一些模板

 

## mysite/mysite/settings.py
## mysite/app1/
## mysite是項目名字,app1是應用名字
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'app1/templates')], ## templates 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
這個templates是在項目下面的應用app1文件夾里面,里面是app1這個應用用到的專用模板。

 

#########################

總結來說說:BASE_DIR是指mysite項目的絕對路徑。

'DIRS': [os.path.join(BASE_DIR, 'templates')]  是指到  BASE_DIR/templates文件夾中去取模板
'DIRS': [os.path.join(BASE_DIR, 'app1/templates')] 是指導  BASE_DIR/app1/templates文件夾中去取模板

一般來說,應該設置
'DIRS': [os.path.join(BASE_DIR, 'templates')],公用的templates需要指定。
app1專用的templates,放在app1/templates下,可以不需指定。因為在app1.views中若要指定一個專用模板,只要直接寫‘app1_index.html’,Django服務器會在views文件所在的當前層(/app1)中找到templates,從而找到模板'app1_index.html'.

指定公用的templates路徑,所有apps都可以調用,方便快捷。
app專用的templates不需要指定,這樣當要復用這個app的時候,不需要考慮templates路徑問題。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM