Python 用Django模板中的另一个字符串替换字符串
在view.py中,我有如下列表:Python 用Django模板中的另一个字符串替换字符串,python,html,django,django-templates,Python,Html,Django,Django Templates,在view.py中,我有如下列表: context['cities'] = ['London', 'Beijing', 'Cape Town', ..] 我不知道为什么我不能在下面的Htmlcode中替换字符串中的子字符串: {% for city in cities % } <di style="background-image: url({% static 'app/img/{{city}}.jpg' %});"> {% endfor %} 在pyth
context['cities'] = ['London', 'Beijing', 'Cape Town', ..]
我不知道为什么我不能在下面的Html
code中替换字符串中的子字符串:
{% for city in cities % }
<di style="background-image: url({% static 'app/img/{{city}}.jpg' %});">
{% endfor %}
在python中,
{{
,}
代表普通的大括号,而不是在大括号中加值
因此,{{city}
不返回city变量的值,而是返回{city}
返回文字大括号的双大括号很复杂,没有
\{
那么有意义,但它就是这样。我只需稍微编辑一下代码就可以解决这个问题:
{% for city in cities % }
<di style="background-image: url("/static/app/img/top-cities/{{ city }}.jpg">
{% endfor %}
{%用于城市中的城市%}
这里是官方python文档的链接:谢谢你的回答。但是我不明白,你的意思是它应该像app/img/cities/\{city}那样编写.jpg
在html中?我的问题是关于html的,python就是一个例子。让我更新一下,我明白了。看一下。不幸的是,我的问题找不到任何直接的解决方案。看起来您使用的是python web服务器,它读取模板html文件并在发送之前在其中插入文本。那是什么服务器?Flask?Django?其他内容?换句话说,您在主Python文件中导入了哪些库?我更新了标记。我正在使用django,这是django模板,标记django应该会有所帮助。您也可以在此处找到一些信息:。看起来它们通常会在这些模板文件的花括号内留下空格。也许这会有所帮助?谢谢对于链接,我以前看过这个文档,我也尝试过{%cycle static'app/img/{{city}.jpg%%}
但是没有效果。不确定这是否是正确的方法
工作得更好吗?我不使用django,所以我必须阅读文档才能提出更多建议。
{% for city in cities % }
<di style="background-image: url("/static/app/img/top-cities/{{ city }}.jpg">
{% endfor %}