在Python代码中获取静态图像URL

时间:2015-10-31 12:07:40

标签: django

我的Django项目中有一个Python函数,我需要返回一些HTML代码,包括我的图像所在的静态URL。

在模板中,我可以StringSignature。 知道如何在Python代码中将其作为return语句的一部分吗?

显然我可以在返回语句中包含整个URL(如下所示),但这会违反Django的DRY原则(如果我的图像URL发生变化,则会出现问题)。

<img src="{% static 'img/my_img.png' %}">

使用Django 1.8。

2 个答案:

答案 0 :(得分:1)

您始终可以导入设置文件

from django.conf import settings
...

if my.condition:
    return ("<img src='%s/img/my_img.png' />" % (settings.STATIC_URL)) + obj.nam

答案 1 :(得分:1)

您可以在python代码中使用模板标记,如下所示:

from django.templatetags.static import static

full_path = static('img/my_img.png')

这还将考虑完整静态路径不仅仅是简单地将settings.STATIC_URL与相对路径串联在一起的用例。例如,请参阅Django文档中的this example