Django 模板语言 - 获取 url 编码值
Django Template Language - getting url encoded values
我正在使用 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
变量传递。为什么会这样?
您不能在 static
标记中包含变量,这就是您在 HTML 输出中看到这些 %7B%7B
的原因。
但是您可以这样做:
{% load static %}
<img src="{% get_static_prefix %}img/category/{{category.category|lower|slugify}}.jpg">
首先 - 该图像不应该从媒体文件中提供吗?静态文件不是为了与模型连接而设计的,这就是媒体文件的用途。
其次 - 你不能在 django 的其他标签中使用变量语法。除非 tag 被设计成带一些参数,否则你不能将它们传递进去。
我正在使用 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
变量传递。为什么会这样?
您不能在 static
标记中包含变量,这就是您在 HTML 输出中看到这些 %7B%7B
的原因。
但是您可以这样做:
{% load static %}
<img src="{% get_static_prefix %}img/category/{{category.category|lower|slugify}}.jpg">
首先 - 该图像不应该从媒体文件中提供吗?静态文件不是为了与模型连接而设计的,这就是媒体文件的用途。
其次 - 你不能在 django 的其他标签中使用变量语法。除非 tag 被设计成带一些参数,否则你不能将它们传递进去。