我的项目结构
|- myProject
|- manage.py
|- myProject
|- settings.py
|- static // This is my STATIC_ROOT
|- myApp
|- static // This is where I edit and save my static files因此,我运行集合体静态命令。我的css/js文件被收集(并压缩成一个文件)到STATIC_ROOT目录(myProject/myProject/static)。到目前一切尚好。
第一个问题:我如何为他们服务?
我尝试调用http://127.0.0.1:8000/static/css/styles.css,但它返回一个404文件未找到错误。
我尝试在STATICFILES_DIRS中添加STATIC_ROOT,但随后收到错误消息:
STATICFILES_DIRS设置不应包含STATIC_ROOT设置。
第二个问题: Django可以为“项目范围”的静态文件提供服务吗?
我知道您可以通过调用"/ static /myApp/my-static-file.css“来提供”应用程序范围的“静态文件。但是Django知道myProject/myProject/static就像它知道每个应用程序中的静态文件夹一样吗?或者这是你需要明确告诉的事情?
我看过一些博客/论坛的帖子,说你需要把urls.py改成,但我试过了,但没有成功。非做不可吗?
我发现在Django的文档中很难找到关于静态文件的信息,我现在非常困惑。
编辑:现在我真的很困惑:我试着设置PIPELINE_ENABLED = False,现在这个url可以工作了。但它没有帮助,因为当PIPElINE_ENABLED为False时,它不会尝试调用压缩的http://127.0.0.1:8000/static/css/styles.css,而是分别调用所有文件。
发布于 2018-12-17 07:15:22
我需要设置DEBUG = True和PRODUCTION = False来让它为静态文件提供服务。只使用DEBUG = True是不行的。
https://stackoverflow.com/questions/29053204
复制相似问题