Skip to main content
 首页 » 编程设计

python之Django 找不到 css(静态文件夹)

2025年05月04日47emanlee

我正在尝试找到一种方法,如何告诉 Django 存储 static 文件(如 css)的位置。问题是它可能找不到 static 文件夹。我已经设置了 settings.py 文件,但它没有帮助。

设置.PY:

STATIC_URL = '/static/' 
 
INSTALLED_APPS = ( 
    ... 
    'django.contrib.staticfiles', 
) 

基础.HTML:

... 
... 
 
<title>Rozcestník</title> 
 
<!-- Bootstrap core CSS --> 
  {% load static %} 
  <link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet"> 
... 

元素结构:

问题出在哪里?

请您参考如下方法:

我不太喜欢你的目录(结构)。

如果文件夹“web”是一个应用程序而“dedo”是一个包含设置的文件夹,那么您的应用程序文件夹中不能有文件夹“static”和“templates”。

应该是:

dedo 
  __init__.py 
  settings.py 
  urls.py 
  views.py 
static 
  css 
    bootstrap.min.css 
templates 
  base.html 
  index.html 
web 
  migrations 
  __init__.py 
  admin.py 
  models.py 
  tests.py 
  views.py 
db.sqlite3 
manage.py 

在你的 settings.py 中你需要这样写:

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

STATIC_URL = 通过浏览器访问您的静态文件

STATICFILES_DIRS = Django 将在何处查找静态文件

重要提示:

STATIC_ROOT = ONLY 如果您要通过适当的网络服务器(nginx、apache、...)和 WSGI(gunicorn、modwsgi、...)部署您的网络应用程序,则使用

“python manage.py collectstatic”或“python3.X manage.py collectstatic”是将静态文件从 STATICFILES_DIRS(加上/admin/的静态文件)复制到 STATIC_ROOT 的命令,这意味着 STATIC_ROOT 不能是与 STATICFILES_DIRS 相同。