簡體   English   中英

如何覆蓋django靜態文件開發服務器?

[英]How to override django static file development server?

我開始使用應用程序'django.contrib.staticfiles'將靜態文件收集到我項目的/ static /目錄中。

問題是,當我使用django開發服務器(manage.py runserver)時,它會自動提供靜態文件。

它通常很好,但在我的情況下,我想自己提供這些靜態文件。

我想在urls.py文件中添加類似的內容:

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

問題是'django.contrib.staticfiles'應用程序在settings.DEBUG = True時優先使用'/ static /'url:我找不到讓Django在使用時使用我的'/ static /'urlpattern描述的方法調試模式

如果我從settings.py中刪除'django.contrib.staticfiles':我的'/ static /'urlpattern可以工作,但是我收集了靜態文件。

你有想法使用'django.contrib.staticfiles'並通過urlpattern描述使用我自己的靜態文件服務器並且有settins.DEBUG = True

我發現,默認情況下,django'rowserver'本身,preempts / static / urls:即使使用自定義中間件,你也不能強迫django指向你的代碼'/ static /'。

我找到的唯一解決方案:對'./manage.py runserver'使用--nostatic選項,然后可以使用自己的url模式和視圖來提供靜態文件。

DEBUG設置為False 當Django為True時,它只提供靜態文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM