2011-07-25 3 views
8

私は公式のdocといくつかの投稿を通じてそれらについて何かを読んだが、私はまだ混乱している。私が今見ることができる限り、MEDIA_ROOTはユーザーがアップロードしたイメージとファイルを、STATIC_ROOTはjs、cssなどを表します。MEDIA_URLはイメージを取得するためのものですか?そしてjsとcssをリンクするためのSTATIC_URLはありますか?MEDIA_ROOT、MEDIA_URL、STATIC_ROOT、STATIC_URLおよびADMIN_MEDIA_PREFIXの文書化された定義は何ですか?

例がそれぞれ提供されていれば、非常に感謝します。

+0

あなたはより良いタイトルを与えたほうがいいです:( –

答えて

11

MEDIA_ROOTとSTATIC_ROOTは、たとえば、ファイルが中に存在するローカルディレクトリです:

MEDIA_ROOT = '/home/CDBean/mydjangoproject/media/' # notice the trailing slash 
STATIC_ROOT = '/home/CDBean/mydjangoproject/static/' 

MEDIA_URLとSTATIC_URLは、これらのフォルダの公に到達可能なURLです。つまり、Djangoプロジェクトをデプロイするときは、ここで指定したURLの下にそれらのフォルダを公開するようにWebサーバーに指示する必要があります。あなたはその後、{{MEDIA_URL}}を経由して、あなたのテンプレートで(あなたがdjango.core.context_processors.mediadjango.core.context_processors.staticはsettings.pyでTEMPLATE_CONTEXT_PROCESSORSタプルに追加したと仮定した場合)、それらのURLを使用して、{{}} STATIC_URLでき

MEDIA_URL = 'http://media.example.com/' # trailing slashes here, too 
STATIC_URL = 'http://static.example.com/' 

。 2つの例:

<link href="{{STATIC_URL}}css/main.css" media="screen" rel="stylesheet" type="text/css" /> 
<img src="{{MEDIA_URL}}random.jpg"/> 

ここで何を使用するのですか?基本的にはあなたが正しいですが、私は強くお勧めしますhttps://docs.djangoproject.com/en/dev/howto/static-files/

関連する問題