我的Django项目中有一个Python函数,我需要返回一些HTML代码,包括我的图像所在的静态URL。
在模板中,我可以StringSignature
。
知道如何在Python代码中将其作为return语句的一部分吗?
显然我可以在返回语句中包含整个URL(如下所示),但这会违反Django的DRY原则(如果我的图像URL发生变化,则会出现问题)。
<img src="{% static 'img/my_img.png' %}">
使用Django 1.8。
答案 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。