我正在尝试通过 Django 管理上传图像,然后在前端页面或仅通过 URL 查看该图像。
请注意,这一切都在我的本地计算机上。
我的设置如下:
MEDIA_ROOT = '/home/dan/mysite/media/'
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 模式吗?
任何建议表示赞赏。
Thanks.
Django 更新 >= 1.7
根据 Django 2.1 文档:提供用户在开发过程中上传的文件 https://docs.djangoproject.com/en/2.1/howto/static-files/#serving-files-uploaded-by-a-user-during-development
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
你不再需要if settings.DEBUG
因为 Django 将处理确保仅在调试模式下使用。
Django
尝试将其放入您的urls.py
from django.conf import settings
# ... your normal urlpatterns here
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
有了这个,您可以在以下情况下从 Django 提供静态媒体:DEBUG = True
(当您在本地计算机上运行时)但是当您进入生产环境时,您可以让您的 Web 服务器配置提供静态媒体服务DEBUG = False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)