首页 > 解决方案 > Django 停止提供静态 css 文件;但静态图像继续工作

问题描述

模板:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" name="viewport" content="width = device-width, initial-scale = 1">
    <link rel="stylesheet" href="{% static "css/custom/nav.css" %}">
    <link rel="stylesheet" href="{% static "css/custom/fonts.css" %}">
</head>
<body>
<div>
            <figure>
                <img src="{% static 'icons/logo.png' %}" alt="">
            </figure>
          
        </div>
</body>

设置:

BASE_DIR = Path(__file__).resolve().parent.parent

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    BASE_DIR / "webapp/static",
]

STATIC_ROOT = "django_static"

问题:Django 不加载静态文件。浏览器抛出:

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (nav.css, line 0)
Not found: http://127.0.0.1:8000/static/css/custom/nav.css

但是,静态文件中的图像效果很好。主徽标的 URL 呈现为:

http://127.0.0.1:8000/static/icons/logo.png

图片可以毫无问题地提供,css 没有。这在我看来是随机发生的。我以前在另一个页面上遇到过这个问题,其中管理页面的 css 显然刚刚停止工作,我不知道为什么。现在它发生在一个更大的项目中的所有 css 文件上,我不能只是废弃并重新启动。

我不知道为什么会发生这种情况或如何解决这个问题。我改变了所有的静态路径,做了几次collectstatic,添加了urls.py的静态路径......没有任何改变。

编辑:因为我根本不知道是什么原因造成的,如果需要进一步的代码/文件,请告诉我。另外:除了 tinymce 没有使用外部封装。只需存储 Django 3.1。但它也发生在一个不同的站点上,除了 Django 之外没有任何外部包。

编辑2:我重新启动了服务器。没有改变。我设置“Debug=True”,重新启动,“Debug=False”,重新启动,“Debug=True”,重新启动。没有其他变化。没有代码更改。现在所有页面上的 css 都按预期提供。只有 Django 管理 css 文件仍未提供。

标签: djangodjango-settings

解决方案


推荐阅读