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

Python 如何在Django模板中显示图像而不显示静态?,python,django,Python,Django,我有一个API,它给了我一个电影列表,在HTTP链接中有图像,如: 所以在django中,我们使用静态文件{%static'image.jpg%}在模板中显示图像,但是如何在模板中显示api图像链接呢 通过python在视图中获取图像。在呈现页面时通过上下文传递它们。使用django的模板标记将URL放入标记中 {%static'image.jpg%}不会神奇地让图像显示在网站上,django会按照给定的内容呈现模板。静态意味着查看statics文件夹,搜索作为文件的给定参数,并获取给定静态资

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


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

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

{%static'image.jpg%}
不会神奇地让图像显示在网站上,django会按照给定的内容呈现模板。静态意味着查看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}
对于基于类的视图,大致如下所示

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。希望有帮助

你的问题不清楚。尝试
时出现了什么问题?@Selcuk在django模板中显示API获取的图像的语法是什么?它们是URL。你可以把它们放在一个IMG标签中。好的,你如何查询这个API?发布你的代码。