Django Templates的设置详解(报错:TemplateDoesNotExist详解)

html模板文件放在哪里,也就是Templates目录放在哪里,通常有两种方式:
1、分开写,在每个APP目录下新建 Templates文件夹,再建一个和此APP同名的文件夹,
   用来存放此APP的的所有.html文件

├── blog1
│  
│   ├── Templates
│   │   ├── blog1
|           |---index.html
├── blog2
│  
│   ├── Templates
│   │   ├── blog2
|           |---index.html
│     
│  
├── db.sqlite3
├── manage.py

这是Django默认的方式,意思就是一个应用会自动到本应用目录下的templates目录搜索html文件,
或者说html文件对本应用的视图函数是透明可见的,不需要再去在settings.py设置TEMPLATE的DIRS
2、在工程的目录下新建Templates
这种方式也比较常见,但是需要在settings.py中指定目录
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, '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',
            ],
        },
    },
]

在manage.py同级目录下新建Templates文件夹,再分别新建每个应用同名的文件夹
这样Templates目录下的html文件对任何一个视图函数来说都是透明的
Templates/
├── blog1
│   └── index.html
├── base.html  (共用模板文件)
└── blog2
    └── index.html

猜你喜欢

转载自blog.csdn.net/qq_33867131/article/details/81566420
今日推荐