【问题标题】:Django: how to use settings in templates? [duplicate]Django:如何在模板中使用设置? [复制]
【发布时间】:2011-06-17 17:21:17
【问题描述】:

Django:如何在模板中使用设置?

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    您可以像这样将设置传递给模板:

    from django.conf import settings
    from django.template import RequestContext
    
    def index(request):
            return render_to_response('index.html', {'settings': settings},
            context_instance=RequestContext(request))
    

    在模板中:

    {{ settings.MY_SETTING_NAME }}
    

    如果您需要在多个模板(多个视图)中访问您的设置,请考虑创建一个适当的template context processor

    【讨论】:

    • 如果您不需要设置文件中的所有内容,最好导入您需要访问的各个设置
    【解决方案2】:

    如果使用基于类的视图:

    #
    # in settings.py
    #
    YOUR_CUSTOM_SETTING = 'some value'
    
    #
    # in views.py
    #
    from django.conf import settings #for getting settings vars
    
    class YourView(DetailView): #assuming DetailView; whatever though
    
        # ...
    
        def get_context_data(self, **kwargs):
    
            context = super(YourView, self).get_context_data(**kwargs)
            context['YOUR_CUSTOM_SETTING'] = settings.YOUR_CUSTOM_SETTING
    
            return context
    
    #
    # in your_template.html, reference the setting like any other context variable
    #
    {{ YOUR_CUSTOM_SETTING }}
    

    【讨论】:

      【解决方案3】:

      只需导入它。

      from django.conf import settings
      

      【讨论】:

        【解决方案4】:

        真的很简单。

        像这样:

        from django.conf import settings
        
        print settings.MY_SETTING_NAME
        

        【讨论】:

          猜你喜欢
          • 2011-03-26
          • 2016-09-07
          • 2020-07-27
          • 2018-03-19
          • 2018-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-07
          相关资源
          最近更新 更多