【问题标题】:Why is Django missing the custom context processor?为什么 Django 缺少自定义上下文处理器?
【发布时间】:2014-02-17 14:14:31
【问题描述】:

我的 django 1.6 项目是结构化的:

  • cg1
    • cg1
      • settings.py
      • cont_proc.py
      • inti 等
    • 应用程序
    • 应用程序
    • manage.py
    • 模板

cont_proc.py 读取:

from django.conf import settings

def misc(request):
    return {'SITE_URL': settings.SITE_URL,'BALANCED_API_KEY':settings.BALANCED_API_KEY}`

在 settings.py 我有:

import django.conf.global_settings as DEFAULT_SETTINGS
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (       os.path.join(BASE_DIR, 'cg1.cont_proc.misc'),)
BALANCED_API_KEY = os.environ.get('BALANCED_API_KEY')
SITE_URL = 'www.mysite.com'  #but set up

python manage.py shell:

>>> from django.conf import settings
>>> settings.TEMPLATE_CONTEXT_PROCESSORS
['django_balanced.context_processors.balanced_library','django_balanced.context_processors.balanced_settings', 'django.contrib.auth.context_processors.auth']

>>>>import os
>>>>os.environ.get('BALANCED_API_KEY')
'correct key from a local .env file'

我已经尝试了很多这样的问题,尤其是:Where is template context processor in Django 1.5?

还有:Python/Django is importing the wrong module (relative when it should be absolute)

但 django 似乎没有在 shell 中看到我的自定义上下文处理器 cont_proc。当我在视图中使用渲染时,我的模板没有收到变量。

【问题讨论】:

    标签: processor django-1.6 django-context


    【解决方案1】:

    我已经安装了 django-balanced。显然这是一个错误。我从已安装的应用程序中删除,一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      相关资源
      最近更新 更多