Django框架模板位置(默认&自定义)

1、默认模板位置

如果当前项目名称为learning_log

在该项目下,有一个应用,名称为learning_logs

那么Django默认的'模板位置'是:

.\learning_log\learning_logs\templates\learning_logs

2、自定义模板位置

修改项目learning_log的settings.py文件。

未修改时,该文件的TEMPLATES段如下:

复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
]

如果自定义的模板路径为:.\learning_log\templates,需要做如下修改

复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates'), ],
        'APP_DIRS': False,
        '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',
            ],
        },
    },
]

通过修改'DIRS'确定新的模板目录,通过将'APP_DIRS'改为False,关闭Django按默认方式寻找模板文件。

那么Django自定义的'模板位置'是:

.\learning_log\templates

注意,在修改'DIRS'使用了os.path.join用来生成路径,所以需要在settings.py文件中引入os,即:import os

相关推荐
掘金者阿豪1 小时前
高可用读写分离实战(二):我把数据库主库停了,结果整个集群的反应和我想象的不一样
后端
掘金者阿豪1 小时前
《高可用读写分离集群实战》系列(一)
后端
Dilee1 小时前
Spring AI 2.0.0 Prompt 最小 Demo:system、user、template 到底怎么分工
后端
未秃头的程序猿2 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
小旭Coding2 小时前
卧靠!Go 传给前端的 int64 竟然变成了这个?
后端
用户298698530142 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
kunge20132 小时前
深度剖析Claude Code 的CLAUDE.md加载逻辑
后端·vibecoding