【问题标题】:Django - How to show image, after uploading file (.jpg) directly to MEDIA_URL folderDjango - 将文件(.jpg)直接上传到 MEDIA_URL 文件夹后如何显示图像
【发布时间】:2020-11-11 17:48:13
【问题描述】:

只是为了澄清我的问题:

假设我有一个 csv 文件可以将我的产品列表上传到数据库。我如何告诉 Django 查看 MEDIA_URL 文件夹。如果图像文件的名称与产品名称相同,则将该图像文件用于产品。

提前致谢

【问题讨论】:

  • 为什么 Django 会查看 MEDIA_URL 文件夹?图像位置通常存储在数据库中。如果需要,您可以编写自己的代码来读取文件夹内容
  • 对不起,我不太擅长 Django。完全忘记了我可以直接将图像路径上传到数据库。我的坏

标签: django image media


【解决方案1】:

首先,将媒体网址添加到您的 urls.py 文件中:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf.urls.static import static

if settings.DEBUG:
    urlpatterns += staticfiles_urlpatterns() + static(
        settings.MEDIA_URL, document_root=settings.MEDIA_ROOT
    )

完成此操作后,您应该能够以这种方式显示图像:

<img src="{{ name_of_your_object.name_of_image_field.url }}" alt="your_alt">

此外,视图必须返回带有包含您的对象的上下文的渲染:

def your_view(request: HttpRequest) -> render:
    """
    Processing GET request

    :param request: HttpRequest
    :returns: render
    """

    context = {}

    context['name_of_your_object'] = NameOfYourObject.object.get(id=id_of_object)

    return render(request, template_name, context)

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2017-11-18
    相关资源
    最近更新 更多