使用django-allauth时,Django无法找到静态文件

时间:2011-12-09 12:23:43

标签: django django-templates django-settings django-staticfiles

当我使用allauth时,除了Django现在无法找到静态文件外,一切似乎都能正常工作。没有allauth所有静态文件都被渲染。 allauth的设置需要添加

TEMPLATE_CONTEXT_PROCESSORS = (

    "allauth.context_processors.allauth",
    "allauth.account.context_processors.account"
)

我之前的设置文件中没有TEMPLATE_CONTEXT_PROCESSORS。有什么东西我错过了吗?我该如何解决这个问题。当我看到DEBUG控制台时,我可以看到它正在尝试将css文件作为

获取
"GET /accounts/login/css/contact.css"

而它应该做

"GET /static/css/contact.css"

1 个答案:

答案 0 :(得分:7)

TEMPLATE_CONTEXT_PROCESSORS有一个默认值,你正在覆盖那个。所以现在缺少默认值。其中一个是“django.core.context_processors.static”,这就是为什么Django找不到你的静态文件。

有关默认列表,请参阅https://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors。您需要的是以下内容:

 TEMPLATE_CONTEXT_PROCESSORS = (
     "django.contrib.auth.context_processors.auth",
     "django.core.context_processors.debug",
     "django.core.context_processors.i18n",
     "django.core.context_processors.media",
     "django.core.context_processors.static",
     "django.contrib.messages.context_processors.messages",
     "allauth.context_processors.allauth",
     "allauth.account.context_processors.account",
     )