=====================实例:Django 设置全局变量(所有视图函数模板都可以使用)OK
1、在settings.py文件中添加配置项
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',
'common.context_processors.sys_prm', # 自定义全局监控状态变量
'common.context_processors.global_settings', # 自定义全局监控状态变量
],
},
},
]
1.1 在settings.py中添加对应的变量:(也可直接写在返回函数里)
#网站信息
SITE_NAME="hupeng的个人博客"
SITE_DESC="pyhon爱好者,希望和大家一起学习,共同进步"
2、在公共区域中自定义函数*.py,返回包含settings配置文件中的变量
#!/usr/bin/env python
# coding:utf-8
# Author:stcaaa
# project/common/context_processors.py
"""
定义django template的全局模板变量
"""
from django.conf import settings
def sys_prm(request):
return {'sys_prm': settings.LANGUAGE_CODE,'Decimal_Places':2}#Decimal_Places=2#全局小数位 可引用settings.py内的,也可以直接写
def global_settings(request):
return {"SITE_NAME": settings.SITE_NAME, "SITE_DESC": settings.SITE_DESC}
3、使用:
*.html中使用:
<div class="layui-form-item">
<label class="layui-form-label">项目名{{ SITE_NAME }}</label>
*.py中使用:
from django.conf import settings
print("SITE_NAME",settings.SITE_NAME)
本文介绍了如何在Django中设置全局变量,使得它们在所有视图函数和模板中都能被使用。首先,在settings.py中添加自定义的context_processors,然后定义相关变量,最后在公共模块中创建函数返回这些变量,以便在HTML模板和Python代码中调用。
859

被折叠的 条评论
为什么被折叠?



