# my site/my site/settings.py # # my site为项目名称templates={ ' back end ' : ' django.template.backends.django . ' templates,# templates 'APP_DIRS': True,' options ' : { ' context _ processors ' 3360 [ ' django.template ' django.template ' django.contrib.auth.context _ processors.auth ',' django.contrib.messages.context _ prate
此templates文件夹位于project目录下,是项目或项目中所有APP应用程序的通用模板
# my site/my site/settings.py # # my site/app1/# # my site为项目名称,app1为应用名称templates={ ' back end ' : ' django . ' app1/templates,## templates 'APP_DIRS': True,' options ' : { ' context _ processors ' 3360 [ ' django ] ' django.template,' django.template ' django.contrib.auth.context _ processors.auth ',' django.contrib.met
总而言之,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专用的模板可以放在app1/templates下,不指定。 在app1.views中指定专用模板时,如果直接写入' app1_index.html ',Django服务器将在views文件所在的当前层(/app1)中找到模板
通过指定公共templates路径,可以调用所有apps,方便快捷。
因为不需要指定APP专用的templates,所以重用此APP时不需要考虑templates路径问题。