2011-07-25 31 views
8

我已經通過官方文檔和一些帖子閱讀了關於它們的一些內容,但我仍然感到困惑。據我現在可以看到,MEDIA_ROOT用於用戶上傳的圖像和文件,以及STATIC_ROOT用於js,css等。對於MEDIA_URL,是否用於檢索圖像? STATIC_URL是用於鏈接js和css的嗎?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項目時,你必須告訴你的Web服務器在你指定的URL下面發佈這些文件夾。

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

然後,您可以用這些網址(假設你有加入TEMPLATE_CONTEXT_PROCESSORS django.core.context_processors.mediadjango.core.context_processors.static元組settings.py)通過{{MEDIA_URL}}在模板和{{STATIC_URL}}。兩個例子:

<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/

相關問題