1. ホーム
  2. python

[解決済み] PythonのリストからFlaskとHTMLを使ってドロップダウンメニューを作成する方法

2022-02-09 12:55:09

質問

Pythonスクリプトからの情報を使って、HTMLでドロップダウンメニューを作ろうとしています。しかし、HTMLのドロップダウンメニューは、リストの4つの値をすべて4つのオプションとして表示します。

現在 オプション1: レッド ブルー ブラック オレンジ オプション2: 赤、青、黒、オレンジなど (リンク先のスクリーンショット) 現在

希望すること オプション1: 赤色 オプション2: 青 その他

Pythonのリストを分離するようにするにはどうしたらいいですか?

dropdown.py

from flask import Flask, render_template, request
app = Flask(__name__)
app.debug = True


@app.route('/', methods=['GET'])
def dropdown():
    colours = ['Red', 'Blue', 'Black', 'Orange']
    return render_template('test.html', colours=colours)

if __name__ == "__main__":
    app.run()

test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dropdown</title>
</head>
<body>
<select name= colours method="GET" action="/">
    {% for colour in colours %}
    <option value= "{{colour}}" SELECTED>{{colours}}</option>"
    {% endfor %}
</select>

</body>
</html>

解決方法は?

タイプミスがある場合は、次のように置き換えます。 colourscolour

<option value= "{{colour}}" SELECTED>{{colours}}</option>"

に置き換えます。

<option value= "{{colour}}" SELECTED>{{ colour }}</option>"
                                     <!--  ^^^^ -->