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

相关推荐
爬虫程序猿24 分钟前
用 Python 给京东商品详情做“全身 CT”——可量产、可扩展的爬虫实战
开发语言·爬虫·python
诗句藏于尽头29 分钟前
自动签到之实现掘金模拟签到
python·1024程序员节
蓝纹绿茶2 小时前
bash:**:pip:***python: 错误的解释器: 没有那个文件或目录
开发语言·python·pip
START_GAME3 小时前
深度学习Diffusers:用 DiffusionPipeline 实现图像生成
开发语言·python·深度学习
Deamon Tree3 小时前
后端开发常用Linux命令
linux·运维·python
thinktik3 小时前
AWS EKS安装S3 CSI插件[AWS 海外区]
后端·kubernetes·aws
卡卡恩5 小时前
使用uv创建系统全局python执行环境
python
查士丁尼·绵5 小时前
笔试-座位调整
python
飞翔的佩奇5 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统
白小筠6 小时前
创建Django项目
数据库·django·sqlite