【发布时间】:2014-02-17 14:14:31
【问题描述】:
我的 django 1.6 项目是结构化的:
- cg1
- cg1
- settings.py
- cont_proc.py
- inti 等
- 应用程序
- 应用程序
- manage.py
- 模板
- cg1
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