首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django pipeline -如何在运行collectstatic后提供静态文件?

Django pipeline -如何在运行collectstatic后提供静态文件?
EN

Stack Overflow用户
提问于 2015-03-15 03:24:52
回答 1查看 1.1K关注 0票数 1

我的项目结构

代码语言:javascript
复制
|- 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,而是分别调用所有文件。

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 07:15:22

我需要设置DEBUG = True和PRODUCTION = False来让它为静态文件提供服务。只使用DEBUG = True是不行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29053204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档