7

アプリケーション「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}),
        )

問題は、settings.DEBUG=True の場合に「django.contrib.staticfiles」アプリケーションが「/static/」URL を優先することです。デバッグモード

「django.contrib.staticfiles」を settings.py から削除すると、「/static/」urlpattern は機能しますが、静的ファイルの収集が失われます。

「django.contrib.staticfiles」を使用し、urlpattern の説明を介して独自の静的ファイルサーバーを使用し、settins.DEBUG=True を使用するというアイデアはありますか?

4

2 に答える 2

5

デフォルトでは、django 'runserver' 自体が /static/ urls を先取りすることがわかりました。カスタム ミドルウェアを使用しても、django に '/static/' をコードに向けさせることはできません。

私が見つけた唯一の解決策:「./manage.py runserver」に --nostatic オプションを使用すると、静的ファイルを提供するために独自の URL パターンとビューを使用できます。

于 2012-05-29T22:15:48.413 に答える
0

に設定DEBUGFalseます。Django は、True.

于 2012-05-29T16:53:29.877 に答える