我应该如何在Django中更改TEMPLATE_CONTEXT_PROCESSORS?

时间:2013-03-04 20:48:41

标签: python django social-networking

我正在尝试使用Django Social Auth application来处理来自各种社交媒体网站的网站登录。

在使用示例代码here时,该示例使用TEMPLATE_CONTEXT_PROCESSORS的以下设置:

TEMPLATE_CONTEXT_PROCESSORS = (    
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.contrib.messages.context_processors.messages',
    'social_auth.context_processors.social_auth_by_type_backends',
    'django.contrib.auth.context_processors.auth',
)

但是,如果我使用这些设置,我的静态媒体网址将被忽略(css / js / images不可用),我认为它会覆盖其他一些上下文设置。如何检查是否还有其他上下文设置?

2 个答案:

答案 0 :(得分:1)

我认为您需要将django.core.context_processors.static添加到上下文处理器列表中。

然后可以快速阅读有关提供静态文件的docs - 此过程因设置而异。

很难说你在那里还需要什么,我认为你已经拥有django默认放在那里的所有东西(当你运行python django-admin.py startapp时)。浏览我正在处理的当前项目之一,我有django.core.context_processors.request将请求对象传递给模板和一个自定义context_processor,但显然你添加的内容取决于你的具体要求。

答案 1 :(得分:1)

您是否设置了STATICFILES_DIRS?此外,您应该将django.core.context_processors.static添加到TEMPLATE_CONTEXT_PROCESSORS并使用STATIC_URL解决静态文件。

静态文件上的docs通常也是一个很好的阅读。