4

當我使用allauth時,除Django現在無法找到靜態文件外,一切似乎都正常。沒有allauth所有的靜態文件正在渲染。對於allauth的設置,需要添加當使用django-allauth時,Django無法找到靜態文件

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" 
+0

告訴我該文件(鏈接),其中呼籲「contact.css」 – Goin

回答

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", 
    ) 
+0

感謝您的幫助......其實,不外我現在還沒有使用過TEMPLATE_CONTEXT_PROCESSORS和好的東西工作正常...我還沒有理解TEMPLATE_CONTEXT_PROCESSORS的意義,因爲沒有這一切,一切正常,你能解釋一下原因是什麼嗎? – Sachin

+0

我不知道「allauth」,所以我也不知道它的上下文處理器是做什麼的。我假設它會在模板的上下文中放置一些「帳戶」。如果你自己不使用它,你不會錯過上下文處理器的缺乏。你可能想檢查一下allauth自己的模板是否都能正常工作。 –

+0

有沒有辦法從django模塊獲取settings.py中的默認值? –