我想在开发过程中测试 django-pipelines(即在只有 django runserver 而没有生产网络服务器的开发机器上)。
通常在开发过程中,只要 Django 提供静态文件DEBUG=True
,但如果DEBUG=False
. 因此,如果没有合适的网络服务器,我似乎需要保留DEBUG=True
我的设置。if通常django-pipelines
不做压缩DEBUG=True
,但据说可以通过设置来强制PIPELINE_ENABLED=True
。因此我的假设是通过设置
# local_settings.py
DEBUG = True # keep serving static files
PIPELINE_ENABLED = True # force django-pipelines to operate
我可以在django-pipelines
我的开发机器上进行测试。我还添加了
# urls.py
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我运行了一个collectstatic,输出的css文件被复制到我的STATIC_ROOT
(myproj/static_media/static/css/out.css)。但是 Django 不提供这个 css 文件。HTML 寻找它
<link href="/site_media/static/css/out.css" rel="stylesheet" type="text/css" media="screen,projection">
但它是404s。
尽管如此,当我更改PIPELINE_ENABLED=False
(仍然DEBUG=True
等)然后手动导航到/site_media/static/css/out.css
Django 时,就会提供文件。
为什么此设置不起作用,我如何django-pipelines
在只有 runserver 的本地开发机器上进行测试?(顺便说一下,这是 django 1.8)。