2012-05-29 103 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模式和視圖來提供靜態文件。

相關問題