2011-04-27 64 views
0

我正在開發一個使用Django.I的WebApp新手,我有這個包含圖像的html文件,我確實通過了這個"link",但現在我得到一個錯誤如解析Media Url一樣。任何人都可以讓我知道什麼是錯的?我已經檢查過權限,即使它們是正確的。 !Django:無法解析剩餘部分(媒體即圖像)

這是圖像對此我包括 -

<img border="2" src="{{ MEDIA_URL }}samplelogo.jpg" alt="logo here"/> 

這是urls.py -

from django.conf.urls.defaults import patterns, include, url 
import settings 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^gharnivas/$', 'gharnivas.views.index'), 
    url(r'^media/(?P<path>.*)$','django.views.static.serve',{'document_root': settings.MEDIA_ROOT}), 
) 

這是媒體的URL和根的settings.py:

MEDIA_ROOT = '/home/nagaraj/ghar/templates/media' 
MEDIA_URL = 'http://localhost:8000/media/' 

ghar是django項目,gharnivas是應用程序

更新

現在我已經通過更換媒體鏈接直接刪除TemplateSyntaxError的錯誤「/媒體/」由@Torsten以下建議。但仍得到的形象!

另一個查詢,我正在使用MEDIA_ROOT和MEDIA_URL是否正確?因爲有些地方我甚至看到他們有STATIC_URL和STATIC_ROOT!

+0

我不知道你是否錯過了一些東西,但是我們確實是這樣,因爲你還沒有發佈你引用這個模板的地方。 – 2011-04-27 09:16:56

回答

1

{{ MEDIA_URL }}輸出空字符串?確保

1)。 'django.core.context_processors.media'TEMPLATE_CONTEXT_PROCESSORS

2)。您在模板中傳遞RequestContext(通過context_instance=RequestContext(request)render_to_response中或通過使用direct_to_template代替)。

+0

@DTTyrsa:我對你的解釋感到困惑。由於我是Django的新手,我的第一個觀點是我可以在哪裏添加它?即使我的views.py我有render_to_response('gharnivas/ghar.html')加載第一個文件,但沒有圖像。 – 2011-04-27 12:07:54

+0

'TEMPLATE_CONTEXT_PROCESSORS'在項目的settigs.py中。 ''django.core.context_processors.media''應該在默認情況下。該處理器將MEDIA_URL變量添加到您的模板。但是你應該使用'RequestContext'。 [Here](http://stackoverflow.com/questions/3756841/django-media-url-blank)是相關的問題。 – DrTyrsa 2011-04-27 12:12:17

+0

@DTTyrsa:我很抱歉:(無法在settings.py中找到它,我徹底檢查了它:| – 2011-04-27 12:15:18

1

MEDIA_URL = '/media/',而不是MEDIA_URL = 'http://localhost:8000/media/'

+0

我確實改變了它,但仍然沒有進展。事實是,我首先寫了「http:// localhost:8000/media /」,因爲有一個例子評論說#Examples:「http://media.lawrence.com/media/」,「http:/ /example.com/media/「 – 2011-04-27 09:28:18

+0

我的appologies,我有一個小分號以及'/ media /'。但即使TemplateSyntaxError被刪除。我的媒體仍然沒有被看到。我的意思是,我仍然沒有得到一個圖像 – 2011-04-27 09:40:31

+1

正如我可以看到你的問題是在別的地方。無論如何,你永遠不會知道你的項目將如何隨着時間而改變。如果你網站的域名正在改變,你只需使用''/ media /''就可以保證安全。 – 2011-04-28 08:10:32

相關問題