访问localhost

时间:2015-10-12 18:56:53

标签: python django django-views django-urls django-settings

我有一个Django项目,我想访问一些图片。

我已设置mySite\settings.py中的路径,如此

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

我的网址定义如下:

from . import views                                                

urlpatterns = [                                                    
        url(r'^$', views.index, name='index'),                     
]

if settings.DEBUG:                                                 
    # static files (images, css, javascript, etc.)                 
    urlpatterns += patterns('',                                    
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,                  
        }),                                                        
   )

因此图像位于mySite/media/subfolder。现在我想在我的页面上显示我的图片,我src的{​​{1}}就像这样

<img>-tag

所以完整路径是/media/subfolder/foobar.png (在Web控制台中检查)。但是,没有图片出现。我还尝试了其他不同的绝对路径,例如http://localhost:8000//media/subfolder/foobar.pnghttp://localhost:8000/subfolder/foobar.png,但没有显示图像。

我看过Django MEDIA_URL and MEDIA_ROOTdjango media not loading,但没有帮助。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我刚刚注意到了这个错误。

问题是我将网址设置错误urls.py。我的mySite/urls.py包含以下代码:

urlpatterns = [
    url(r'^app/', include('app.urls')),
]

在我的应用程序中,我有上面提到的代码。因此,我的media文件夹的路径是错误的。现在我搬家了

if settings.DEBUG:                                                 
    # static files (images, css, javascript, etc.)                 
    urlpatterns += patterns('',                                    
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,                  
        }),                                                        
   )

mySite/urls.py并且路径正确并显示图像。