首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >姜戈。继续在我的图像上得到404,不知道我是否设置了正确的路径

姜戈。继续在我的图像上得到404,不知道我是否设置了正确的路径
EN

Stack Overflow用户
提问于 2019-05-20 14:33:27
回答 1查看 35关注 0票数 0

我试着在一个测试网站上显示图片,我已经做过了

但是现在我已经尝试了三天前的旧的和新的解决方案,并且不断地在我的图像上得到404。我还没有设置任何静态,只是媒体文件。

那是我的models.py

从django.db导入模型

“”

代码语言:javascript
运行
复制
     class Produto (models.Model):
        nome = models.CharField(max_length=50)
        preço = models.DecimalField(max_digits=5, decimal_places=2)
        foto = models.ImageField(blank=True, upload_to='media')

def __str__(self):
    return '%s %s' % (self.nome, self.foto)

“”

我的settings.py

“”

代码语言:javascript
运行
复制
    STATIC_URL = '/static/'
    STATICFILES_DIRS = (
          os.path.join(BASE_DIR, 'static'),
    )
    STATIC_ROOT = 'JR/JR/static/produtos'
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

“”“

我的views.py

代码语言:javascript
运行
复制
       from django.shortcuts import render
       from.models import Produto


       def produtolist(request):
            list = Produto.objects.all()
            return render(request, 'produtos.html', {'list': list})

“”和一张带有错误和路径的图片:错误

和我的模板

代码语言:javascript
运行
复制
<html>
<head>
  <meta charset="utf-8">
  <title>Produtos</title>
<!--   ------------links       -->
  <link rel="stylesheet" href="{% static 'style.css' %}"

</head>

<body>
  <h1>perdida</h1>
  <img src="/media/perdida.jpg" >
   <div class="cats">
  <ul>
      {% for Produto in list %}
          <li> {{Produto.nome}} - {{Produto.preço}}</li>
          <img src="{{ Produto.foto }}" alt="{{Produto.nome}}" />
      {% endfor %}
  </ul>
</div>
</body>
EN

Stack Overflow用户

回答已采纳

发布于 2019-05-20 15:00:51

当您在模板中显示媒体(上传)文件时,您需要自己在文件url之前手动添加MEDIA_URL。您可以使用模板标记get_media_prefix来完成这一任务。

代码语言:javascript
运行
复制
{% load static %}
...
<img src="{% get_media_prefix %}{{ Produto.foto }}" alt="{{ Produto.nome }}"/>

注意,通过在您的upload_to="media"中添加ImageField,您的图像将被上传到/media/media/目录,因为该上传路径相对于MEDIA_ROOT

如果需要在多个地方(如for循环中)使用它,请执行以下操作来保存一些python查找:

代码语言:javascript
运行
复制
{% load static %}
{% get_media_prefix as MEDIA_PREFIX %}
{% for Produto in list %}
    <img src="{{ MEDIA_PREFIX }}{{ Produto.foto }}"/>
{% endfor %}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56223121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档