1

seqというPythonリストがあり、それをselect要素でレンダリングしたいとします。どうすればよいですか?

私は試した:

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

それはうまくいきませんでした。

更新:テンプレートコードは次のとおりです。

<!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>

要素が消えてエラーが発生しない理由がわかりません。

4

2 に答える 2

10

あなたは私の友人にとても近いですあなたはちょうどいくつかのスペースを逃しました:

あなたはこれを書いた:

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

これは次のようになります。

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

それで問題が解決するかどうか教えてください。幸運を!

これらのスペースがないと、Pythonとブラウザにとってはゴミのように見えます:)

于 2013-03-19T20:42:42.353 に答える
0

テンプレートをレンダリングする関数を確認してください。次のものが含まれている必要があります。

def generate_template_for_exercize1():

    seq = [1, 2, 3] #here you probably will have more complex statement

    return render_template('your_template.html', seq=seq)
于 2019-08-03T19:59:41.673 に答える