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文档,如果你不知道如何做到这一点。

+0

我是一个新手程序员,看过教程,但似乎无法得到这个工作。我已经使用views.py中的一些代码更新了示例。 – sgriffee 2010-11-23 14:11:35

+0

您确定模板已显示吗?当您向模板添加一些附加信息时`django版本是:{{django_version}}`,你说你的结果是'django版本是:`? – 2010-11-23 14:28:50

+0

是的,显示模板。对'django版本是'的任何修改都会显示,但{{django_version}}不会输出任何内容。 – sgriffee 2010-11-23 15:04:43

一个简单的背景处理器会做你想做的

context_processors.py

import django 
def django_version(request): 
    return { 'django_version': django.VERSION } 

不要忘记,包括设置TEMPLATE_CONTEXT_PROCESSORS