可以从Django中的模板访问settings.py中的常量吗?
我希望通过模板访问settings.py
中的一些内容,但是我不知道该怎么做。我已经试过了
{{CONSTANT_NAME}}
但这似乎不起作用。可能吗?
回答:
settings.MEDIA_URL
如果你使用django的内置通用视图或在render_to_response
快捷方式函数中传递上下文实例关键字参数,则Django提供对模板的某些经常使用的设置常量的访问,例如和某些语言设置。这是每种情况的示例:
from django.shortcuts import render_to_responsefrom django.template import RequestContext
from django.views.generic.simple import direct_to_template
def my_generic_view(request, template='my_template.html'):
return direct_to_template(request, template)
def more_custom_view(request, template='my_template.html'):
return render_to_response(template, {}, context_instance=RequestContext(request))
这些视图都将具有几个常用设置,例如settings.MEDIA_URL
可用于模板{{ MEDIA_URL }}等。
如果要在设置中寻找对其他常量的访问权限,则只需解压缩所需的常量并将它们添加到在视图函数中使用的上下文字典中,如下所示:
from django.conf import settingsfrom django.shortcuts import render_to_response
def my_view_function(request, template='my_template.html'):
context = {'favorite_color': settings.FAVORITE_COLOR}
return render_to_response(template, context)
现在,你可以通过访问settings.FAVORITE_COLOR
模板{{ favorite_color }}
。
以上是 可以从Django中的模板访问settings.py中的常量吗? 的全部内容, 来源链接: utcz.com/qa/425682.html