我的 django 1.6 项目结构如下:
- CG1
- CG1
- 设置.py
- cont_proc.py
- 英迪等
- 应用程序
- 应用程序
- 管理.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 外壳:
>>> 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'
我已经尝试了很多这样的问题,尤其是:Django 1.5 中的模板上下文处理器在哪里?
另外:Python/Django 正在导入错误的模块(当它应该是绝对的时候是相对的)
但是 django 似乎没有在 shell 中看到我的自定义上下文处理器 cont_proc。当我在视图中使用渲染时,我的模板不会收到变量。