Django模板语言 - 获取url编码值

时间:2015-08-23 14:06:59

标签: python django django-templates

我使用Django模板语言,使用加载静态文件。但是,当我执行以下操作时

<img src="{% static 'img/category/{{category.category|lower|slugify}}.jpg' %}">

我将HTML视为

<img src="/static/img/category/%7B%7Bcategory.category%7Clower%7Cslugify%7D%7D.jpg">

显然无法呈现正确的图像。

然而我的预期输出是

<img src="/static/img/category/electronics.jpg">

其中category.category = electronics

我将类别作为ctx变量传递。为什么会这样?

2 个答案:

答案 0 :(得分:2)

static标记中不能包含变量,这就是HTML输出中显示这些%7B%7B的原因。

但你可以这样做:

{% load static %}
<img src="{% get_static_prefix %}img/category/{{category.category|lower|slugify}}.jpg">

答案 1 :(得分:1)

首先 - 不应该从媒体文件中提供该图像吗?静态文件不是为与模型连接而设计的,而模型是媒体文件的用途。

其次 - 你不能在django中的其他标签内使用变量语法。除非标记设计为采用某些参数,否则您无法将其传递给。