【发布时间】:2021-01-05 20:02:32
【问题描述】:
在 view.py 我有一个这样的列表:
context['cities'] = ['London', 'Beijing', 'Cape Town', ..]
我不知道为什么我不能在下面的Html代码中替换字符串中的子字符串:
{% for city in cities % }
<di style="background-image: url({% static 'app/img/{{city}}.jpg' %});">
{% endfor %}
我期待像 app/img/London.jpg 这样的东西。
在 inspect 我看到的是这个字符串:
url(/static/app/img/%7B%7Bcity%7D%7D.jpg);
【问题讨论】:
-
看起来您正在使用 Python Web 服务器,它读取模板 HTML 文件并在发送它们之前将文本插入其中。那是什么服务器?烧瓶?姜戈?还有什么?换句话说,您在主 Python 文件中导入了哪些库?
-
我更新了标签。我正在使用 django,这是 django 模板,
-
标记 django 应该会有所帮助。您还可以在这里找到一些信息:docs.djangoproject.com/en/1.8/ref/templates/builtins。看起来他们通常在这些模板文件的大括号内留下空格。也许这会有所帮助?
-
感谢您的链接,我之前看过这个文档,我也尝试过
{% cycle static 'app/img/{{city}}.jpg' %},但是没有用。不确定这是否是正确的方法 -
{% cycle static 'app/img/{{ city }}.jpg' %}或{% cycle static {{ 'app/img/{}.jpg'.format(city) }} %}工作得更好吗?我不使用 django,所以我必须阅读文档才能提出更多建议。
标签: python html django django-templates