0

MEDIA_ROOTを設定しようとしていますが、settings.pyで設定すると、認識されないようです。たとえば、私のsettings.pyは次のようになります。

...

MEDIA_ROOT = '/static/files/'

...

そしてテンプレートで(この変更をテストするために)-私は試しました:

Media root: {{ MEDIA_ROOT }}
static url: {{STATIC_URL }}

静的URLは正常に表示され、更新および変更できます。これらの変更はテストテンプレートに反映されます。ただし、メディアルートは常に空の文字列です。MEDIA_ROOTの使用を開始するために必要な追加の構成はありますか?もしそうなら、誰かが私にドキュメントを教えてもらえますか?

4

1 に答える 1

1

デフォルトで使用できる2つのコンテキスト変数があります(テンプレートをレンダリングするときにRequestContextインスタンスを使用する場合:

MEDIA_URL- によって提供されたdjango.core.context_processors.media

STATIC_URL- によって提供されたdjango.code.context_processors.static

https://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processorsで確認できるように、これらのコンテキストプロセッサは両方ともデフォルトのリストに含まれています。

MEDIA_ROOTファイルシステムパスであると想定されており、ディスク上のメディアのロードと保存に使用されます。テンプレートで使用する理由はないはずです。本当にアクセスする必要がある場合は、それを提供する独自のコンテキストプロセッサを作成するだけで十分です。

メディアプロセッサに関するドキュメントは、https: //docs.djangoproject.com/en/1.3/ref/templates/api/#django-core-context-processors-mediaにあります。

于 2012-01-11T19:38:27.313 に答える