詰まっているところ
Flask で開発しています。
現在、「変数や処理を個数分用意するのがめんどくさい」という理由で
辞書を用いて処理を書いているのですが、
辞書を使ったとたんに処理がうまくいかないで困っています。
上手くいく方
html
1<div class="col">{{form.url_1.label}}</div>
py
1url_1 = StringField('URL')
結果、設定されているURL
の文字列が視覚的に表示されます。
上手くいかない方
html
1<div class="col"> 2 {{form.labels_dict.url_1.label}} 3 <!-- もしくは --> 4 {{form.labels_dict['url_1'].label}} 5</div>
py
1labels_dict = {} 2labels_dict[f'url_1'] = StringField('URL')L')
結果、文字列が表示されず、思ったとおりの処理になりません。
「もしくは」のパターンも同様の結果です。
求める結果は「辞書を使うパターンでも、プレビュー時に文字列が表示されること」です。
この解決法を知ってる方がいらっしゃったらご教示願えればありがたいです。
ちなみに
.label
を外すと
html
1<div class="col"> 2 1 {{form.url_1}} 3 2 {{form.labels_dict.url_1}} 4</div>
正常ならStringField
なので文字を入力するインプットエリアが出てきます。
1
の場合それが出てきますが、2
の場合それが出てきません。
代わりに、<UnboundField(StringField, ('URL',), {})>
という出力を確認しました。
環境
Python 3.9
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/12/26 22:28 編集
2021/12/26 22:37
退会済みユーザー
2021/12/27 12:47
2022/01/11 01:58