【问题标题】:GET /static/css/base.css HTTP/1.1" 404 1660 from Django for Beginners从 Django 为初学者获取 /static/css/base.css HTTP/1.1" 404 1660
【发布时间】:2020-01-10 20:05:33
【问题描述】:

您好,总的来说,我对编程/python/django 非常陌生,我正在关注 django 初学者书籍,我们在 CSS 中添加的部分让我非常困惑,因为我收到了这个错误“GET /static/css/base.css HTTP/1.1" 404 1660。我已将本书 1 中的代码复制到 1 中,但无法正常工作。

这里是相关的settings.py

STATIC_URL = '/static/'

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

这是我要添加 css 的 base.html

{% load static %}
<html>
    <head>
        <title>Django blog</title>
        <link href="{% static 'css/base.css' %}" rel="stylesheet">
    </head>

...

这是我看到人们在其他问题中询问的目录信息

C:.
├───blog
│   └───migrations
├───blog_project
├───static
│   └───css
└───templates

【问题讨论】:

  • 您的目录中有base.css 文件吗?
  • 另外,与问题无关,但如果您只是开始编程,请从学习 C# 等强类型语言开始。
  • 是的,目录中有一个 base.css 文件。强类型语言是什么意思?我真的很喜欢 python,我想我只是想通过和学习它。
  • 好吧,没关系,我很愚蠢,正在为不同的项目更新设置... lmao

标签: html css django


【解决方案1】:

试试这个:

将静态文件夹从项目根目录移动到特定的 App 目录中。为您创建的所有应用程序执行此操作,因为 Django 使用 django.contrib.staticfiles 处理项目中的所有静态文件。 As referenced here

【讨论】:

    【解决方案2】:

    在 Django 中,在项目目录下(与 apps 目录同级)有一个根静态目录,除此之外,在 Apps 目录下还有其他静态目录,对于每个需要使用静态文件,应在其下创建一个静态目录来托管其特定的静态人员,因此请确保在每个应用程序下创建静态目录,以便其视图和模板可以访问它们并在新的静态人员添加到静态目录时运行 collectstatic。

    确保在设置文件中每个应用的 STATIC_DIRC = [ "BASE-DIR /[App-Name].static"] 都有静态目录,不要包含根静态目录,否则 Django 会抛出错误

    我遇到了这个问题,花了几个小时寻找我最终得到的解决方案,这归功于 Asiak 的回答(上面提到过)

    【讨论】:

      【解决方案3】:

      确保css 文件夹中有文件base.css,然后出于一些奇怪的原因尝试使用双引号。

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

      【讨论】:

        猜你喜欢
        • 2020-03-03
        • 1970-01-01
        • 1970-01-01
        • 2020-12-28
        • 2014-04-26
        • 2020-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多