【问题标题】:Django not able to find the static files when using django-allauthDjango 使用 django-allauth 时无法找到静态文件
【发布时间】:2012-01-16 17:48:16
【问题描述】:

当我使用 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"

【问题讨论】:

  • 告诉我调用“contact.css”的文件(链接)

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


【解决方案1】:

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

【讨论】:

  • 感谢您的帮助...实际上直到现在我还没有使用 TEMPLATE_CONTEXT_PROCESSORS 并且工作正常...我还没有理解 TEMPLATE_CONTEXT_PROCESSORS 的重要性,因为没有它也一切正常,你能解释一下是什么原因吗?
  • 我不知道“allauth”,所以我也不知道它的上下文处理器是做什么的。我假设它在您的模板上下文中放置了一些“帐户”。如果您自己不使用它,您将不会错过缺少上下文处理器。您可能需要检查 allauth 自己的模板是否都可以正常工作。
  • 有没有办法从 django 模块中获取 settings.py 中的默认值?
  • @PetrPeller:我猜你的意思是from django.conf import global-settings?这是完整的默认设置列表。
  • 已弃用(如 2017 年):django-allauth.readthedocs.io/en/latest/installation.html --> # Specify the context processors as follows: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ # Already defined Django-related contexts here # allauth needs this from django 'django.template.context_processors.request', ], }, },]
猜你喜欢
  • 2021-10-03
  • 1970-01-01
  • 2013-09-14
  • 2021-08-27
  • 2014-11-10
  • 2011-08-26
  • 2020-06-22
  • 2021-08-16
相关资源
最近更新 更多