1

我想在开发过程中测试 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)。

4

0 回答 0