【问题标题】:Getting admin email(s) from Django template从 Django 模板获取管理员电子邮件
【发布时间】:2013-12-06 07:22:10
【问题描述】:

有没有一种方法可以从任意模板访问settings 模块的ADMINS 变量,而无需在渲染之前手动将其添加到上下文中,类似于request 在使用@ 的任何模板中可用的方式987654324@ 如果django.core.context_processors.requestTEMPLATE_CONTEXT_PROCESSORS 中?

【问题讨论】:

  • 只需将其从视图传递给您的模板。

标签: python django django-templates django-views


【解决方案1】:

我会使用针对这个问题所讨论的模板标签: Can I access constants in settings.py from templates in Django?

具体来说,我使用这个答案中的代码:https://stackoverflow.com/a/6343321/2250326

这样您就可以像这样在模板中获取 AMDINS:

{% value_from_settings "ADMINS" as admins %}
{% for admin in admins %}
    Name: {{ admin.0 }}<br />
    Email: {{ admin.1 }}
{% endfor %}

【讨论】:

    【解决方案2】:

    您可以编写自己的上下文处理器(这是一个以request 为参数的常规函数​​):

    from django.conf import settings
    
    def admin_emails(request):
        return { 'ADMINS': settings.ADMINS }
    

    并将path.to.my.context_processor.admin_emails 添加到TEMPLATE_CONTEXT_PROCESSORS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      相关资源
      最近更新 更多