2012-04-01 14 views
0

Django 1.4 release notes状態:ジャンゴ1.4管理静的ファイルは

あなたは暗黙的にDjangoのソースコード内の管理静的ファイル のパスに頼っている場合は、そのパスを更新する必要があります。 ファイルはdjango/contrib/admin/media /から django/contrib/admin/static/admin /に移動されました。

は、誰かが、これは正確にどのように行われるかを説明してもらえますか? Django 1.3まではsettings.pyでADMIN_MEDIA_PREFIXを使用しましたが、現在は廃止予定です。しかし、私たちは静的ファイル(js、css、...)上で常に開発しているので、staticfilesアプリケーションは私たちにとっては面倒なことです。各変更後のcollectstatic呼び出すと、悪夢:-PピュアPython/Djangoのソリューションは素晴らしいことだ

です。これが不可能な場合は、ApacheではなくLighTPDをサーバーとして使用しています。

答えて

1

あなたが展開するときmanage.py collectstaticが開発中に、使用されているあなたはジャンゴこれを追加して、静的およびメディアファイルを提供することができあなたのurl.pyに:

from django.conf.urls.static import static 
from django.conf import settings 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 

... 
... 

if settings.DEBUG: 
    # add one of these for every non-static root you want to serve 
    urlpatterns+= static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
    # this take cares of static media (i.e. bundled in apps, and specified in settings) 
    urlpatterns+= staticfiles_urlpatterns() 

これは、再利用可能なアプリケーションにバンドルされているすべての静的ファイルにも役立ちます。これにより、の実質的な悪夢は、プロジェクトごとにサードパーティのアプリケーションごとにWebサーバールートにシンボリックリンクを追加する必要がなくなります!

+0

ありがとうございます - 本当にあなたの答えに感謝し、それに投票しました。しかし、*私たちは生命サーバー上で*静的に*開発していることが多いです。私たちは毎日更新、ケア、修正などを必要とするこのような動的プロジェクトを持っています。 –

+0

あなたが修正プログラムを適用している場合でも、バージョン管理と展開スクリプトを実行する必要があります。変更が登録されると、CIサーバはプロジェクトをチェックアウトし、必要に応じてファブリック更新スクリプトを実行します。それには、データベースの変更、システムの変更、すべてが含まれます。それ以上の日数を得ることはできません。 – ashwoods

関連する問題