Django 为什么我需要同时定义静态URL和静态文件目录?

Django 为什么我需要同时定义静态URL和静态文件目录?,django,deployment,django-staticfiles,static-files,Django,Deployment,Django Staticfiles,Static Files,如果我只定义了一个,那么页面将不显示任何CSS/JS。如果我同时定义了这两个选项,则页面加载效果良好。为什么呢?我以为这是无关的 这里有一个答案,但它不能回答我为什么两者都需要。它只是说两者都做了什么,在我看来是一样的。有什么区别 根据我对StackOverflow的调查,我想我可以总结如下: STATIC_ROOT被引用为静态服务器,可以是默认的Django静态服务器,也可以是在Heroku/etc上创建的静态服务器。您可以在url.py中指出这一点 STATICFILES\u DIR引用静态

如果我只定义了一个,那么页面将不显示任何CSS/JS。如果我同时定义了这两个选项,则页面加载效果良好。为什么呢?我以为这是无关的

这里有一个答案,但它不能回答我为什么两者都需要。它只是说两者都做了什么,在我看来是一样的。有什么区别


根据我对StackOverflow的调查,我想我可以总结如下:

STATIC_ROOT被引用为静态服务器,可以是默认的Django静态服务器,也可以是在Heroku/etc上创建的静态服务器。您可以在url.py中指出这一点

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


请随意添加

STATICFILES\u DIRS是无关的。只有在使用应用程序中静态文件目录之外的静态文件目录时,才需要使用它。在看不到更多代码和项目结构的情况下,我甚至无法猜测页面为什么没有加载,但您肯定不需要指定STATICFILES\u DIRS