Python Django管道-运行collectstatic后如何服务静态文件? 我的项目结构

Python Django管道-运行collectstatic后如何服务静态文件? 我的项目结构,python,django,static,django-pipeline,collectstatic,Python,Django,Static,Django Pipeline,Collectstatic,所以我运行collectstatic命令。我的css/js文件被收集(并压缩成一个文件)到STATIC_根目录(myProject/myProject/STATIC)中。到目前为止还不错 第一个问题:我如何为他们服务? 我尝试调用,但它返回404文件未找到错误 我尝试在STATICFILES\u DIRS中添加STATIC\u ROOT,但出现错误: STATICFILES\u DIRS设置不应包含静态根目录 背景 第二个问题:Django能否提供“项目范围”的静态文件? 我知道您可以通过调用“

所以我运行collectstatic命令。我的css/js文件被收集(并压缩成一个文件)到STATIC_根目录(myProject/myProject/STATIC)中。到目前为止还不错

第一个问题:我如何为他们服务? 我尝试调用,但它返回404文件未找到错误

我尝试在STATICFILES\u DIRS中添加STATIC\u ROOT,但出现错误:

STATICFILES\u DIRS设置不应包含静态根目录 背景

第二个问题:Django能否提供“项目范围”的静态文件? 我知道您可以通过调用“/static/myApp/my static file.css”来提供“应用程序范围”的静态文件。 但是Django知道每个应用程序中静态文件夹的方式吗?还是你需要明确地告诉别人

我读过一些博客/论坛帖子,上面说你需要将URL.py更改为,但我尝试了,但没有成功。我必须这样做吗

我发现在Django的文档中很难找到关于静态文件的信息,现在我非常困惑



编辑:现在我真的很困惑:我试着设置PIPELINE_ENABLED=False,现在这个url工作了。但是它没有帮助,因为当PIPElINE_ENABLED为False时,它不会尝试调用压缩的css,而是单独调用所有文件。

我需要设置DEBUG=True和PRODUCTION=False,以使其服务于静态文件。仅DEBUG=True不起作用。

您是如何为django提供服务的(例如,根据您使用的URL,我猜测是通过runserver,而不是通过apache/nginx/等?),您是否在调试模式下运行?是的,我正在使用runserver运行django。是的,我有DEBUG=trued如果您正在运行django服务器,它将从静态根目录(假设所有内容都已正确配置)提供服务。collectstatic用于在反向代理可以找到的位置获取所有静态文件。您需要为此配置反向代理。Django服务器不是为在生产环境中运行而设计的,因此在发布站点时,需要进行额外的配置。
|- myProject
    |- manage.py
    |- myProject
        |- settings.py
        |- static // This is my STATIC_ROOT
    |- myApp
        |- static // This is where I edit and save my static files