Django媒体URL和媒体根目录

我正试图通过Django管理员上传一个图像,然后在前端的页面上或通过URL查看该图像

请注意,这些都在我的本地计算机上

我的设置如下:

MEDIA\u ROOT='/home/dan/mysite/MEDIA/'
媒体URL='/MEDIA/'

我已将upload_to参数设置为“images”,文件已正确上载到目录:

'/home/dan/mysite/media/images/myimage.png'

但是,当我尝试通过以下URL访问图像时:

http://127.0.0.1:8000/media/images/myimage.png

我得到一个404错误

我需要为上传的媒体设置特定的URLconf模式吗

谢谢你的建议

谢谢

Django的更新>=1.7

根据Django 2.1文档:在开发过程中为用户上传的文件提供服务

来自django.conf导入设置的


从django.conf.url.static导入静态
urlpatterns=模式(“”,
#…你的URLconf的其余部分都在这里。。。
)+静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)

您不再需要if settings.DEBUG,因为Django将处理确保仅在调试模式下使用


Django的原始答案<=1.6

试着把它放到你的URL.py

来自django.conf导入设置的


# ... 你的正常模式在这里
如果设置为.DEBUG:
#静态文件(图像、css、javascript等)
urlpatterns+=模式(“”,
(r“^media/(?P<path>*)$”,“django.views.static.service”{
“document_root”:settings.MEDIA_root})

有了它,您可以在DEBUG=True(在本地计算机上运行时)从Django提供静态介质,但在进入生产和DEBUG=False

发表评论