在django中找不到图像的错误提示

问题描述 投票:0回答:1

我想在我的模板文件中显示上载的图像,但是出现此错误Reverse for 'portfolio/steve-jobs.jpg' not found. 'portfolio/steve-jobs.jpg' is not a valid view function or pattern name.,我在mysite/uploads/portfolio/文件夹下的图像有人可以帮助我如何解决此错误?在这里,我在这里上传了我的整个template.html代码

{% for portfolio_data in portfolio %}
      <div class="col-lg-4 col-6 mb-4 shuffle-item">
        <div class="position-relative rounded hover-wrapper">
          <img src="{% url  portfolio_data.image %}" alt="portfolio-image" class="img-fluid rounded w-100">
          <div class="hover-overlay">
            <div class="hover-content">
              <a class="btn btn-light btn-sm" href="{{ portfolio_data.url }}" target="_blank">view project</a>
            </div>
          </div>
        </div>
      </div>
      {% endfor %}
python django python-3.x
1个回答
1
投票

似乎您要将图像对象传递给url函数。

[url需要一个URL名称(如urls.py中定义),而不是对象。

图像对象portfolio_data.image应该具有url方法,具体取决于您设置的静态文件。

尝试删除url模板标记,然后简单地做:

<img src="{{ portfolio_data.image.url }}" alt="portfolio-image" class="img-fluid rounded w-100">

产生轻微奇怪错误消息的原因是因为图像对象portfolio_data.image具有返回文件名的__repr__方法。最终看起来像Django找不到path,但实际上它找不到具有object名称的URL,该URL具有对象路径的字符串表示形式。

很想阅读更多有关Django's URL reversing的内容,以了解更多信息,并且请记住{% url %}是包装reverse的模板标签。

© www.soinside.com 2019 - 2024. All rights reserved.