gpt4 book ai didi

python - Django MEDIA_URL 和 MEDIA_ROOT

转载 作者:行者123 更新时间:2023-11-28 19:32:12 25 4
gpt4 key购买 nike

我正在尝试通过 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 模式?

感谢任何建议。

谢谢。

最佳答案

Django 更新 >= 1.7

根据 Django 2.1 文档: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 会处理确保它仅在 Debug模式下使用。


Django 的原始答案 <= 1.6

尝试将其放入您的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}))

有了这个,当 DEBUG = True(当你在本地计算机上运行时),你可以从 Django 提供静态媒体,但是你可以让你的网络服务器配置在你进入生产时提供静态媒体,并且 DEBUG = False

关于python - Django MEDIA_URL 和 MEDIA_ROOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com