我想在开发过程中测试 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.cssDjango 时,就会提供文件。
为什么此设置不起作用,我如何django-pipelines在只有 runserver 的本地开发机器上进行测试?(顺便说一下,这是 django 1.8)。