簡體   English   中英

在Django中找不到靜態媒體映像

[英]Static Media Image not Found in Django

關於我的上一個問題,只能將元組(而不是“ unicode”)連接到元組

現在,當我嘗試對媒體文件的URL進行GET Request時,出現以下錯誤。

Page not found (404)
Request Method: GET
Request URL:    http://localhost:8000/media/media/abyss.jpg

Urls.py

urlpatterns = patterns('',
                       url(r'^admin/', include(admin.site.urls)),
                       url(r'^$', 'blog.views.index'),
                       url(r'^blog/(?P<slug>[\w\-]+)/$', 'blog.views.article'),
                       url(r'^(.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
                       ) 

我遇到了同樣的問題,這是我要解決的問題:我的項目結構

./django_site
   app1/ 
   app2/
   media/
   django_site/
     settings.py
     #your other basic config stuff in here

在settings.py中:

MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'media')
MEDIA_URL = '/media/'

在子目錄django_site /中的urls.py中

#the main url patterns
urlpatterns = patterns('',
#urls
)

"""Here's where we're putting the route to serve media from MEDIA_URL. 
I couldn't get this part to work inside the inital declaration of urlpatterns. 
Maybe you'll have better luck """

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

然后在模板中:

<img src="{{ MEDIA_URL }}{{ image_name }}" height="200" width="400"/>

我正在從基於函數的視圖傳遞image_name 如所顯示的,您必須在某個位置定義http://somesite.com/media/ url,以便能夠從MEDIA_URL拉回媒體。 我沒有在文檔中明確看到這一點,但是,除非您配置url路由,否則GET請求似乎總是失敗。 現在,我從模板內或直接通過url拉文件。 希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM