在用django 框架开发 python web 程序的时候 , 在模板页面经常会用到 settings.py 中设置的常量
下面是我使用的一种方法, 不啰嗦 直接举例上代码:
一、目录结构
1、第一种目录
books/
__init__.py
models.py
templatetags/
views.py
2、第二种目录
project/
project/
app/
templatetags/
二、自定义 tags
1、在templatetags 目录下面 创建 __init__.py 和 tags文件 例如 const.py 文件
2、打开const.py
from django import template
from django.conf import settings
register = template.Library() # 只有向系统注册过的tags,系统才认得你。
# settings value
@register.simple_tag
def settings_value(name):
return getattr(settings, name, "")
3、打开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',
'app.apptemplates.load_setting',
],
# 增加此代码
'libraries':{
'const': 'books.templatetags.const',
#下面是第二种目录
'const': 'templatetags.const',
}
},
},
4、页面使用
页面头部加载 {% load const %}
使用 {% const CONST %} {%const 参数1 %}