我有一个API,可以给我看电影列表,图像在 HTTP 链接中,例如:
因此在Django中,我们使用静态文件{% static 'image.jpg' %}
在模板中显示图像,但是如何在模板中显示api图像链接?
答案 0 :(得分:0)
{% 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}
对于这两种视图,它们大致相同;您现在可以在模板内使用{{my_image}}
来引用URL。希望对您有帮助!
答案 1 :(得分:-2)
通过python在视图中说出图像。呈现页面时,将它们传递通过上下文。使用Django的模板标签将URL放入标签中。