4

当我使用 allauth 时,除了 Django 现在无法找到静态文件之外,一切似乎都运行良好。如果没有 allauth,所有静态文件都会被渲染。allauth 的设置需要添加

TEMPLATE_CONTEXT_PROCESSORS = (

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

我之前的设置文件中没有 TEMPLATE_CONTEXT_PROCESSORS。有什么我想念的吗?我应该如何解决这个问题。当我看到调试控制台时,我可以看到它正在尝试将 css 文件获取为

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

而它应该做的

"GET /static/css/contact.css"
4

1 回答 1

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",
     )
于 2011-12-09T13:45:09.870 回答