我正试图通过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