Django 静态自定义化配置

STATIC

python 复制代码
# APP本地静态资源目录(就APP对应的)
STATIC_URL = "/static/"

# 远程静态文件URL(少用)
REMOTE_STATIC_URL

# 外部引用静态文件目录(外层的)
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]

# collect本地静态文件目录(python manage.py collectstatic可以出现的)
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

TEMPLATES

一般 Django 默认的 TEMPLATES 配置为:

python 复制代码
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',
            ],
        },
    },
]

注:BACKEND : 指定模板引擎(一般不需改动)。APP_DIRS: 一个布尔值,指示是否在每个已安装的应用程序的 templates 子目录中查找模板。在这个例子中,它被设置为 True,这意味着 Django 会在每个应用程序的 templates 文件夹中查找模板;

比如这时候你在外部引用了一个你自身开发的文件夹,在前后端不分离式的项目中,那么就需要塞到 DIRS 中,如果是配置前端的环境变量,那么直接塞到 OPTIONS 的 context_processors。

如果你使用的是一些把 TEMPLATES 内嵌到SDK里的框架,那么可以直接用字典的方式赋值即可。

比如你在你的 APP (这里叫 hh_app)写了一个context_processors.py文件

python 复制代码
def set_global_variable(request):
    context = {
        "STATIC_URL": settings.STATIC_URL + "dist/",  # 本地静态文件访问
        "APP_ID": settings.APP_ID,  # app id
    }
    return context

配置文件配置以下即可:

python 复制代码
TEMPLATES[0]["OPTIONS"]["context_processors"] += ("hh_app.context_processors.set_global_variable",)
相关推荐
大白的编程日记.1 小时前
【计算机基础理论知识】C++篇(二)
开发语言·c++·学习
网小鱼的学习笔记1 小时前
python中MongoDB操作实践:查询文档、批量插入文档、更新文档、删除文档
开发语言·python·mongodb
Q_Q5110082851 小时前
python的保险业务管理与数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
亮1111 小时前
Maven 编译过程中发生了 Java Heap Space 内存溢出(OutOfMemoryError)
java·开发语言·maven
Chef_Chen1 小时前
从0开始学习R语言--Day40--Kruskal-Wallis检验
开发语言·学习·r语言
Zhu_S W1 小时前
深入理解Java虚拟机:Java内存区域与内存溢出异常
java·开发语言·jvm
灰海2 小时前
原型与原型链到底是什么?
开发语言·前端·javascript·es6·原型模式·原生js
鸡蛋灌Bean2 小时前
Java常用设计模式大全
java·开发语言·设计模式
钮钴禄·爱因斯晨2 小时前
C语言 | 函数核心机制深度解构:从底层架构到工程化实践
c语言·开发语言·数据结构
wkj0012 小时前
php中array($this, ‘loadClass‘)表示啥意思?
android·开发语言·php