【问题标题】:Django media root image doesn't load in templateDjango 媒体根图像未在模板中加载
【发布时间】:2015-01-24 12:39:24
【问题描述】:

我搜索了其他 django 媒体图像问题线程,但没有一个对我有真正帮助,大多数问题是关于在模板标签中正确链接图像。我还有一个问题,它的链接正确,当我检查浏览器中的元素时可以看到,但它仍然没有加载。

这是来自

的实际代码

models.py:

class user(models.Model):
    ime = models.CharField(max_length=25)
    prezime = models.CharField(max_length=25)
    slika = models.ImageField(upload_to='slike/profili/')

views.py:

def board(requset):
    profili = user.objects.all()
    return render_to_response('board.html', {'profili': profili})

board.html:

<div>
{% for profil in profili %}
    <div><p style=" color:white;position: relative; left: 50%"><img src="{{ profil.slika.url }}" width="256px" height="256px">THIS IS AN IMAGE</p></div>
    <div><p style="color: white; position: relative; left: 50%;">{{ profil.ime }}</p></div>
{% endfor %}
</div>

settings.py:

MEDIA_ROOT = 'C:/Users/Prototype/Documents/PythonProjs/SKOLA/media/'

MEDIA_URL = '/media/'

似乎是什么问题?

【问题讨论】:

  • 你的代码在渲染模板后在 html 上输出了什么?
  • 就像它应该的那样
  • 如果您尝试访问 your_site:your_port/media/slike/profili/avatar_4efGJwh.png 会发生什么?如果您无法访问该链接并显示 404(未找到)错误,则问题出在您的 settings.py MEDIA 配置中。
  • 另外,记得在你的 urls.py 中注册 MEDIA_ROOT,比如this
  • 好的,我现在修好了。谢谢@avenet

标签: django image templates media root


【解决方案1】:

确保在 urls.py 上提供静态文件。为此,请查看documentation

请注意,此方法仅适用于开发(使用 DEBUG=True),对于生产,请考虑通过 Apache 或 Nginx 提供文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多