Python 在Django中找不到静态媒体映像
关于我先前的问题 现在,我在尝试获取媒体文件URL上的请求时出现以下错误Python 在Django中找不到静态媒体映像,python,django,Python,Django,关于我先前的问题 现在,我在尝试获取媒体文件URL上的请求时出现以下错误 Page not found (404) Request Method: GET Request URL: http://localhost:8000/media/media/abyss.jpg url.py urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)),
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/media/media/abyss.jpg
url.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_站点/
#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"/>
我正在从基于函数的视图中传递图像名称。看起来,您必须定义http://somesite.com/media/ 在某个点的url,以便能够将媒体从媒体url中拉回来。我没有在文档中明确看到这一点,但是,除非配置url路由,否则GET请求似乎总是失败的。现在,我从模板中或直接通过url提取文件。希望这有帮助 你的url.py看起来像什么?@AjayKumar请更新问题,而不是在评论中发布。请查看问题本身的链接,了解url包含/media/media的所有文件信息,这是一个错误吗?@eran这是因为media\u url=\media\