当前位置: 首页 > 面试题库 >

如何在模板中获取ImageField URL?

薛祯
2023-03-14
问题内容

我的Django应用中有以下模型:

class Image(models.Model):
    image = models.ImageField(
        upload_to='images/', 
        height_field='height', 
        width_field='width'
    )
    credit = models.CharField(max_length=50, blank=True)
    caption = models.TextField(blank=True)
    article = models.ForeignKey(Article)
    width = models.PositiveIntegerField(
        blank = True, null = True,
        editable = False,
        default = 0
    )
    height = models.PositiveIntegerField(
        blank = True, null = True,
        editable = False,
        default = 0
    )

我已将MEDIA_ROOT设置为Apache网络根目录中的/ hmedia /目录,并将MEDIA_URL设置为’http://localhost/hmedia/'。这似乎奏效了-我已通过Django管理网站成功上传了几张图片,并且可以通过查看这些图片http://localhost/hmedia/images/[filename]。并且Django管理站点实际上向我显示了文件名,并提供了每个图像的实时URL的链接,并且这些链接有效。

我的问题是,我不知道如何在模板中获取这些图像的URL或文件名:

<ul>
{% for image in article.image_set.all %}
    <li>Caption: "{{image.caption}}", Credit: "{{image.credit}}", URL: "{{image.url}}"</li>
{% endfor %}
</ul>

上面的模板产生以下输出:

<ul>

    <li>Caption: "here's an image caption", Credit: "some photographer", URL: ""</li>

    <li>Caption: "Another caption here", Credit: "Another photographer", URL: ""</li>

</ul>

换句话说,它可以正确输出每个图像的标题和字幕属性,但是对于{{image.url}}则不输出任何内容。

如何在模板中获取图像的URL?Django管理界面模板是如何做到的?(我已经扎根在管理模板目录中,但找不到我想要的东西。)


问题答案:

你需要{{ image.image.url }}&{{ image.image.path }},而{{ image }}-仅是一个Image对象



 类似资料:
  • 问题内容: 我有一个使用RadioSelect小部件包含ModelChoiceField的ModelForm。 我要在单选按钮旁边显示MyBModel上的属性。我会在ModelChoiceField的子类上进行重写,但这不允许我做我想做的事情,因为我希望单选按钮出现在每个选择项都有一行的表中。 所以我在模板中的某处想要… 不幸的是,field.choices返回对象的ID和标签的元组,而不是que

  • 问题内容: 我想知道如何在模板中获取当前URL。 说我目前的网址是: 如何将其返回到模板? 问题答案: Django 1.9及更高版本: 旧:

  • 模板代表了 freemarker.template.Template 实例。典型的做法是从 Configuration 实例中获取一个 Template 实例。无论什么时候你需要一个模板实例, 都可以使用它的 getTemplate 方法来获取。在 之前 设置的目录中的 test.ftl 文件中存储 示例模板,那么就可以这样来做: Template temp = cfg.getTemplate("

  • 问题内容: 如何从Django模板中获取当前站点的域名?我试着寻找标签和过滤器,但那里什么也没有。 问题答案: 我认为你要访问的是请求上下文,请参阅RequestContext。

  • 我用Django开发了一个Web应用。在View函数中,我将一个查询集列表呈现到前端。在我的例子中,标题表是书籍信息,材料是这本书的详细信息,附在哪个课程上,如果这个附加关系是“丢弃”。is_discard在材料表中,而不是这本书丢弃与否。在材料表中,一门课程附带几本书,丢弃状态不是按书而是按书-课对,因为有些书可能在一门课程中丢弃,但在其他课程中有效 看法py: 在前端,query\u resu

  • 我有一个Django模板,其中显示从数据库接收的多个值,并将其传递给模板,如下所示: 在视图中。py公司 在模板/测试1/索引中。html 现在,我想更新这些行。1,世界其他地区。2,世界其他地区。3通过Ajax,无需每次重新编辑页面。数据来自数据库。那么,我在哪里以及如何添加一些Ajax(),这样Django就会出现这种情况?