Django-将文件.jpg直接上传到MEDIA_URL文件夹后如何显示图像

问题描述

只是为了澄清我的问题:

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

预先感谢

解决方法

首先,将媒体URL添加到您的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)

希望对您有帮助