如何循环使用jinja2 for循环来创建一个select元素?

如何循环使用jinja2 for循环来创建一个select元素?

问题描述:

说我有一个名为seq的python列表,我想在选择元素中呈现它,我该怎么做?如何循环使用jinja2 for循环来创建一个select元素?

我想:

<select name="Exercise1"> 
     {% for item in seq %} 
      <option value="{{item}}">{{item}}</option> 
     {% endfor %} 
     </select> 

没有奏效。

UPDATE: 这里是模板代码:

<!DOCTYPE html> 

<html> 
    <head> 
    <title>Unit 2 Rot 13</title> 
    </head> 

    <body> 
    <h2>Enter some text to ROT13:</h2> 
    <form method="post"> 

       <select name="Exercise1"> 
       {% for item in seq %} 
       <option value="{{item}}">{{item}}</option> 
      {% endfor %} 
      </select> 


     <br> 
     <input type="submit"> 

    </form> 
    </body> 

</html> 

而这里呈现的HTML源代码:

<!DOCTYPE html> 

<html> 
    <head> 
    <title>Unit 2 Rot 13</title> 
    </head> 

    <body> 
    <h2>Enter some text to ROT13:</h2> 
    <form method="post"> 

       <select name="Exercise1"> 

        </select> 


     <br> 
     <input type="submit"> 

    </form> 
    </body> 

</html> 

我不知道为什么元素就会消失,也没有引发错误。

+0

它以什么方式“不工作”?您的模板看起来很好(假设所有内容都已正确转义)。 – Cameron 2013-02-20 22:56:34

+0

好吧,select元素不会出现在呈现的html中。 – camara90100 2013-02-20 23:16:57

+0

你能举一个'seq'包含的例子吗?如果你把一个虚拟链接放在选择上面,另一个在右边,他们会显示出来吗? – Cameron 2013-02-21 00:21:46

你是非常接近我的朋友,你只是错过了一些空间:

你写这样的:

<option value="{{item}}">{{item}}</option> 

这就需要看起来像这样:

<option value="{{ item }}">{{ item }}</option> 

让我知道如果修复它。祝你好运!

没有这些空间它只是看起来像垃圾蟒蛇和浏览器:)

+0

是的,那工作,谢谢! – camara90100 2013-03-20 02:35:29

+0

我的工作不起作用(当我用字符串替换变量时它工作正常) fanny 2016-12-11 21:47:06