如何在没有静态的情况下在 Django 模板中显示图像?

我有一个 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图像链接?


慕仙森
浏览 182回答 2
2回答

RISEBY

{% static 'image.jpg' %}不会神奇地使图像显示在网站中,django 会使用其给出的内容呈现模板。静态意味着查看静态文件夹,以文件形式搜索给定参数,并获取该给定静态资产的 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 放在标签中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python