静态 CSS 未应用于 django-allauth 模板

Static CSS not being applied to django-allauth templates

我的模板似乎无法访问静态 css 文件。该项目使用 all-auth 进行身份验证。我的文件结构如下:

    Project Folder   
      app 1 
      app 2 
      static
        css
          style.css 
       templates
         account
           login.html
           signup.html
          base.html
          home.html

base.html如下:

{% load static %}

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Shuffle</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href='{% static "css/style.css" %}' rel="stylesheet">
    </head>
    <body>
        <div id="card">
            {% block content %}
            {% endblock %}
          </div> <!--card -->
    </body>
</html>

其余模板扩展自 base.html。检查呈现的页面时,所有 html 都是正确的,但缺少样式。

编辑:

错误显示为:

    GET /static/css/style.css HTTP/1.1" 404 1665

设置中的静态目录设置为:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")

您的文件夹名称 CSS 似乎全部大写,但在您的模板代码 (<link href='{% static "css/style.css" %}' rel="stylesheet">) 中,文件夹名称 css 为小写。

我还看到文件夹 Static 的首字母大写,但设置代码 STATIC_ROOT = os.path.join(BASE_DIR, "static") 的文件夹名称全部小写。

两者都必须匹配,大写在这部分很重要。

您似乎需要添加设置 STATICFILES_DIRS

您的设置中应该包含所有 3 个部分:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]