首页 > 解决方案 > Django 找不到静态文件

问题描述

我已经开始了一个新的 Django 项目,并在一开始就遇到了问题。

我创建了一个“核心”应用程序,并在内部使用引导程序准备了一个简单的 html 页面。我没有使用 CDN,而是下载了引导文件并将其放在静态目录下。问题是 Django 找不到那些静态文件。

我正在使用最新版本的 Django

>>> django.VERSION
(3, 2, 5, 'final', 0)

我的base.html文件中的片段:

{% load static %}
<!-- Bootstrap core CSS -->
<link href="{% static 'assets/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="{% static 'headers.css' %}" rel="stylesheet">

设置.py

STATIC_URL = '/static/'
STATICFILES_DIR = [
    BASE_DIR / 'static'
]

和我的目录结构:

.
├── apps
│   └── core
│       ├── __init__.py
│       ├── admin.py
│       ├── apps.py
│       ├── migrations
│       │   ├── __init__.py
│       ├── models.py
│       ├── templates
│       │   └── core
│       │       ├── base.html
│       │       └── index.html
│       ├── tests.py
│       └── views.py
├── db.sqlite3
├── manage.py
├── ref_manager
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── static
│   ├── assets
│   │   └── bootstrap
│   │       ├── css
|   |       |   ...
│   │       │   ├── bootstrap.css
│   │       │   ├── bootstrap.css.map
│   │       │   ├── bootstrap.min.css
│   │       │   ├── bootstrap.min.css.map
│   │       └── js
│   │           ├── bootstrap.bundle.js
│   │           ├── bootstrap.bundle.js.map
│   │           ├── bootstrap.bundle.min.js
│   │           ├── bootstrap.bundle.min.js.map
│   │           ├── bootstrap.esm.js
│   │           ├── bootstrap.esm.js.map
│   │           ├── bootstrap.esm.min.js
│   │           ├── bootstrap.esm.min.js.map
│   │           ├── bootstrap.js
│   │           ├── bootstrap.js.map
│   │           ├── bootstrap.min.js
│   │           └── bootstrap.min.js.map
│   └── headers.css

标签: pythondjango

解决方案


在你的 settings.py 文件中试试:

      导入操作系统
      
      STATIC_URL = "/静态/"
      STATICFILES_DIRS = [
               os.path.join(BASE_DIR,“静态”)
       ]

请修复缩进错误,如果有的话


推荐阅读