2012-05-29 59 views
6

我开始使用应用程序'django.contrib.staticfiles'将静态文件收集到我的项目的/ static /目录中。如何覆盖django静态文件开发服务器?

问题是,当我使用django开发服务器(manage.py runserver)时,它会自动提供静态文件。

它通常很好,但在我的情况下,我想自己提供这些静态文件。

我想放在urls.py文件类似的东西:

urlpatterns += patterns('', 
     url('^static/(?P<path>.*)$', myStaticMediaServe,{'document_root': settings.STATIC_ROOT ,'show_indexes': True}), 
     ) 

的问题是,“django.contrib.staticfiles”应用程序已经上了车“/静态/”的URL时,优先settings.DEBUG = True:我找不到一种方法让Django在调试模式下使用我的'/ static /'urlpattern描述

如果我从settings.py中删除'django.contrib.staticfiles'静态/'urlpattern工程,但我松散静态文件收集。

你有一个想法,通过URLPATTERN描述使用“django.contrib.staticfiles”,用我自己的静态文件服务器,并有settins.DEBUG =真

回答

0

设置DEBUGFalse。 Django只在True时才提供静态文件。

+1

不幸的是,我正在开发,我需要调试到真! – Eric

5

我发现,默认情况下,django'runserver'本身,抢占/静态/网址:即使使用自定义中间件,您也无法强制django将'/ static /'指向您的代码。

我发现的唯一解决方案:为./manage.py runserver使用--nostatic选项,然后可以使用自己的url模式和视图来提供静态文件。

相关问题