Django模板标签显示Django版本
问题描述:
什么是最简单的方法来创建一个Django模板标签,在模板上显示Django版本?Django模板标签显示Django版本
我希望把Django模板下面,并把它输出Django的版本(在我的情况,base.html文件):
{{ django_version }}
我知道下面的Python代码输出Django的版本一个外壳,但我困惑,我应该把这个代码,我应该如何从模板调用它:
import django
print django.VERSION
更新:我试图在views.py以下,但没有在显示出来模板:
import django
from django.template import loader, Context
from django.http import HttpResponse
from django.shortcuts import render_to_response
def base(request):
django_version = django.VERSION
return render_to_response('base.html', {'django_version': django_version})
答
下此背景处理器想通了这一点(目前使用Django 1.3) - 我需要将函数名'django_version'添加到settings.png中的TEMPLATE_CONTEXT_PROCESSORS元组中。 Ÿ:
TEMPLATE_CONTEXT_PROCESSORS = (
# ...
'myproject.context_processors.django_version',
)
context_processors.py(感谢zsquare):
import django
def django_version(request):
return { 'django_version': django.VERSION }
urls.py:
urlpatterns += patterns('django.views.generic.simple',
(r'^$', 'direct_to_template', {'template': 'base.html'}),
)
把你的模板下面,如base.html:
{{ django_version }}
答
您应该通过模板上下文将django.VERSION作为变量提供给模板。我建议遵循django教程或阅读django文档,如果你不知道如何做到这一点。
答
一个简单的背景处理器会做你想做的
context_processors.py
import django
def django_version(request):
return { 'django_version': django.VERSION }
不要忘记,包括设置TEMPLATE_CONTEXT_PROCESSORS
我是一个新手程序员,看过教程,但似乎无法得到这个工作。我已经使用views.py中的一些代码更新了示例。 – sgriffee 2010-11-23 14:11:35
您确定模板已显示吗?当您向模板添加一些附加信息时`django版本是:{{django_version}}`,你说你的结果是'django版本是:`? – 2010-11-23 14:28:50
是的,显示模板。对'django版本是'的任何修改都会显示,但{{django_version}}不会输出任何内容。 – sgriffee 2010-11-23 15:04:43