为啥我需要同时定义 STATIC_URL 和 STATICFILES_DIRS?

Posted

技术标签:

【中文标题】为啥我需要同时定义 STATIC_URL 和 STATICFILES_DIRS?【英文标题】:Why do I need to define both STATIC_URL and STATICFILES_DIRS?为什么我需要同时定义 STATIC_URL 和 STATICFILES_DIRS? 【发布时间】:2015-09-28 12:39:41 【问题描述】:

如果我只定义一个,则页面显示时没有任何 CSS/JS。如果我同时定义,页面加载正常。这是为什么?我认为 STATICFILES_DIRS 是无关紧要的?

这里有一个答案,但它没有回答为什么我需要两者。它只是说明了两者的作用,在我看来是一回事。有什么区别?

List of definitions for STATIC/STATIC_ROOT/STATICFILES_DIR

【问题讨论】:

【参考方案1】:

根据我在 *** 上的搜索,我想我可以总结如下:

STATIC_ROOT 被称为静态服务器,无论是默认的 Django 静态服务器还是在 Heroku/etc 上制作的静态服务器。你在 urls.py 中指向这个

STATICFILES_DIR 引用静态资产中的内容,因此如果有单独的文件夹,一个用于 CSS,一个用于 JS,等等。

欢迎补充!

【讨论】:

【参考方案2】:

STATICFILES_DIRS 是无关的。仅当您在应用程序内部的静态文件目录之外使用静态文件目录时才需要使用它。在没有看到更多代码和项目结构的情况下,我什至无法开始猜测为什么您的页面没有加载,但您绝对不需要指定 STATICFILES_DIRS。

【讨论】:

以上是关于为啥我需要同时定义 STATIC_URL 和 STATICFILES_DIRS?的主要内容,如果未能解决你的问题,请参考以下文章

Django 404 上的静态文件,同时设置了 static_root 和 static_url

NameError:名称“static_url”未定义

为啥我需要将默认引用参数定义为 const 以便我可以为其分配左值? [复制]

为啥 Django 不加载我的 CSS?

为啥我不能在一个文件中同时定义 Test 和 test 类?

如何在 Django 中使用 static_url 制作自定义图像路径?