Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将媒体目录中的图像显示到模板中?德扬戈_Python_Django_Django Templates - Fatal编程技术网

Python 如何将媒体目录中的图像显示到模板中?德扬戈

Python 如何将媒体目录中的图像显示到模板中?德扬戈,python,django,django-templates,Python,Django,Django Templates,我正在使用Django创建自己的管理面板。 但是如果我试图显示从Django管理面板上传的图像,浏览器会告诉我没有找到图像 我已将MEDIA_URL和MEDIA_根添加到settings.py,但如果我获取并尝试打印此变量,则在模板中看不到任何内容 settings.py MEDIA_ROOT = '/' MEDIA_URL = '/media/' template.html {%load static%} {%get_media_前缀为media_URL%} {%block content%

我正在使用Django创建自己的管理面板。 但是如果我试图显示从Django管理面板上传的图像,浏览器会告诉我没有找到图像

我已将MEDIA_URL和MEDIA_根添加到settings.py,但如果我获取并尝试打印此变量,则在模板中看不到任何内容

settings.py
MEDIA_ROOT = '/'
MEDIA_URL = '/media/'
template.html
{%load static%}
{%get_media_前缀为media_URL%}
{%block content%}
...
{%用于家庭照片中的照片\u照片%}
{%endfor%}
...
{%endblock%}

根据Django关于和的文档,METDIA_ROOT应该具有服务器文件系统到媒体文件夹的绝对路径。“/”表示Linux文件系统的根。下面是两种正确的配置方法

settings.py
#如果介质文件夹在您的项目文件夹中
MEDIA\u ROOT=os.path.join(基本目录'MEDIA')
#如果媒体文件夹位于不同的位置,请选择/var/www/media
MEDIA_ROOT='/var/www/MEDIA'

因此,如果在浏览器中查看缺少图像的页面源,则
src=
属性的值是多少?
models.py
class HomePhoto(models.Model):
    image_path = models.ImageField(upload_to='media/home/photos/', null=False, blank=False)
    home = models.ForeignKey(Home, on_delete=models.CASCADE, related_name='home_photos', null=False, blank=True)
views.py
...
def get_context_data(self, **kwargs):
       context = super(HomeDetailView, self).get_context_data()
       context['title'] = context['home'].address
       context['home_photos'] = home_models.HomePhoto.objects.filter(home=context['home'].pk)
       return context
template.html
{% load static %}
{% get_media_prefix as MEDIA_URL %}
{% block content %}
...
{% for photo in home_photos %}
    <div class="{% if forloop.first %}active{% endif %} item" data-slide-number="0">
        <img src="{{ MEDIA_URL }}{{ photo.image_path }}">
    </div>
{% endfor %}
...
{% endblock %}