gpt4 book ai didi

python - Django MEDIA_URL 和 MEDIA_ROOT

转载 作者:太空宇宙 更新时间:2023-11-03 20:09:44 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 提供静态媒体,但是当您进入生产环境时,您可以让您的 Web 服务器配置提供静态媒体,DEBUG = False

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

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