django找不到静态/ css文件错误404

jui*_*0xk 7 css python django static

这个问题似乎是众所周知的,然而,大多数是旧的问答,他们并没有解决我的问题.

我正在使用Django 2.0.2,当我的简单网页没有渲染我的bootstrap.css文件,因为它根本找不到它.

我正在关注本教程:https://simpleisbetterthancomplex.com/series/2017/09/11/a-complete-beginners-guide-to-django-part-2.html#static-files-setup

这是我的文件结构:

myproject/
 |-- myproject/
 |    |-- boards/
 |    |-- myproject/
 |    |-- templates/
 |    |-- static/
 |    |    +-- css/
 |    |         +-- bootstrap.min.css    <-- here
 |    +-- manage.py
Run Code Online (Sandbox Code Playgroud)

这是我在settings.py文件中定义的静态变量.

STATIC_URL = '/static/'

STATICFILES_DIR = [
    os.path.join(BASE_DIR, 'static'),
]
Run Code Online (Sandbox Code Playgroud)

这是我的home.html文件,为了简洁,下半部分切出.

{% load static %}<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Boards</title>
    <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
  </head>
  <body>
    <h1>Boards</h1>
Run Code Online (Sandbox Code Playgroud)

我将调试设置为true,当我运行我的服务器并加载它时,我会看到以下内容: [08/Feb/2018 19:26:02] "GET /static/css/bootstrap.css HTTP/1.1" 404 1675

我也无法访问此URL,因为它也说明了404错误:http://127.0.0.1:8000/static/css/bootstrap.min.css.

我不确定为什么当我在上面的文件中明确说明时,Django找不到.css文件.没有其他StackOverflow问题/答案对我有帮助.

接受建议; 任何帮助深表感谢.

bon*_*kic 8

编辑:似乎 OP 拼错了STATICFILES_DIRS设置,缺少“S”。

在您的 Django 应用程序目录中创建一个子目录static,然后在该目录中创建另一个与您的 Django 应用程序名称相同的目录。然后将您的css目录移动到最新提到的目录中。

所以,像这样:

- your_django_app
-- static
--- your_django_app
---- css
----- bootstrap.min.css
Run Code Online (Sandbox Code Playgroud)

然后你就可以在你的模板中使用这样的:

<link rel="stylesheet" href="{% static 'your_django_app/css/bootstrap.min.css' %}">
Run Code Online (Sandbox Code Playgroud)