zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Mac系统杂项 (持续更新)
    黑苹果-IOS学习的开始
    WPF命令参数CommandParameter
    WPF使用RoutedCommand自定义命令
    解决iOS设备屏幕切换时页面造成的问题
    width100%,设置padding或border溢出解决方法
    linux下别名alias的设置
    cordova navigator app 对象
    jquery easyui combox实用方法记录
    seajs构建方法
  • 原文地址:https://www.cnblogs.com/flypiggy/p/5126157.html
Copyright © 2011-2022 走看看