Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用Django模板中的另一个字符串替换字符串_Python_Html_Django_Django Templates - Fatal编程技术网

Python 用Django模板中的另一个字符串替换字符串

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

在view.py中,我有如下列表:

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 %}