2010-11-23 107 views
5

什麼是最簡單的方法來創建一個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}) 

回答

3

下此背景處理器想通了這一點(目前使用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 }} 
2

您應該通過模板上下文將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

3

一個簡單的背景處理器會做你想做的

context_processors.py

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

不要忘記,包括設置TEMPLATE_CONTEXT_PROCESSORS