如何在Django模板中显示图像而不显示静态?

2024-10-04 09:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个API,它给了我一个电影列表,在HTTP链接中有图像,比如:

https://d2gx0xinochgze.cloudfront.net/5/public/public/system/posters/12/thumb/Tevar-Movie-Opening-Day-Box-Office-Collection-Report-1140x752_1482917123.jpg

所以在django中,我们使用静态文件{% static 'image.jpg' %}在模板中显示图像,但是如何在模板中显示api图像链接呢?你知道吗


Tags: https图像模板apihttp列表net电影
2条回答

{% static 'image.jpg' %}并不会神奇地让图片出现在网站上,django会用它所给的内容呈现模板。Static意味着查看statics文件夹,以文件形式搜索给定的参数,并获取给定静态资产的url。你知道吗

在你的特殊情况下,你说你得到了图片的url。您可以轻松地将这些url添加到上下文中,这将是呈现过程的一部分。你知道吗

对于函数视图,大致如下所示。你知道吗

def view(request, *a, **kw):
    template = loader.get_template('my_template.html')
    context = {'my_image': get_image_from_api()}
    return HttpResponse(template.render(context, request))

对于基于类的视图,大致如下所示。你知道吗

class MyView(TemplateView):
    template_name = 'my_template.html'
    def get_extra_context(self):
        _super_context = super().get_extra_context()
        context = {'my_image': get_image_from_api()}
        return {**_super_context, **context}

对于这两个视图,它们大致相同;现在可以在模板内使用{{my_image}}来引用url。希望有帮助!你知道吗

通过python在视图中获取图像。在呈现页面时通过上下文传递它们。使用django的模板标记将url放在标记中。你知道吗

相关问题 更多 >