Django 中 如何使用 settings.py 中的常量


在用django 框架開發 python web 程序的時候 , 在模板頁面經常會用到 settings.py 中設置的常量,比如MEDIA_URL, 我嘗試過在模板頁面用類似如下的方式
程序代碼 程序代碼

{{CONSTANT_NAME}}

但 是,是沒有效果的,后來只好采用了RequestContext 的方法,起始就是在 render_to_response 的時候,將settings.py 中常量,再次添加到一個 context 中去實現,這樣在頁面就能用另外一個名字去訪問了,感覺很別扭,個人覺得肯定還有更簡單的方法,只是沒找到而已。下面是實現方法
程序代碼 程序代碼

from django.conf import settings
from 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)

這樣就能通過在模板中使用 {{ favorite_color }} 來訪問 settings.FAVORITE_COLOR 的值了。

方法二,在國外的網站上看到的,用自定義tag 的方式來實現.
程序代碼 程序代碼

from django import template
from django.conf import settings

register = template.Library()

# settings value
@register.simple_tag
def settings_value(name):
    return getattr(settings, name, "")


使用方法

程序代碼 程序代碼

{% settings_value "LANGUAGE_CODE" %}


關於在django 框架中自定義 tag 的方法,可以參考另一篇文章 :

django 自定義 tag

 

 

src:

http://www.yihaomen.com/article/python/407.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM