[英]Flask [Python] assigning flash categories to iterated variables
我正在嘗試將 flash 類別分配給將在表單中生成的可迭代變量。
我的 HTML:
<select name="values" size="10" multiple>
{% with cols = get_flashed_messages
(category_filter="columns"),
vals = get_flashed_messages
(category_filter="{{val_by_col}}")%}
{% for col in cols %}
<optgroup label = {{ col }}>
{% for val in vals %}
<option>
{{ val }}
</option>
{% endfor %}
</optgroup>
{% endfor %}
{% endwith %}
<input type=submit value=submit>
</select>
</form>
**Yields HTML Select Form:**
COLUMN 1
ALL FLASH VALUES
COLUMN 2
ALL FLASH VALUES
但是,我想要完成的是:
**IDEAL HTML Select Form:**
COLUMN 1
COLUMN 1 FLASH VALUES
COLUMN 2
COLUMN 2 FLASH VALUES
我試圖通過我的 Python 中的增量可迭代變量來實現這一點:
val_by_col = 0
for col in col_list:
val_by_col = int(val_by_col ) + 1
flash(col, 'columns')
for val in col:
flash(val, category=val_by_col )
這樣,我希望通過增加val_by_col
我可以使用閃爍,就像您在字典中迭代鍵、值對一樣。 使用 str()、f'""' 和 ""{{}}"" 的組合並沒有產生正確的結果。
也許我可以將 append 的值放到嵌套字典中,並以閃爍的形式遍歷這些值以生成表單? 謝謝!!
我不知道如何用我最初的設想填充 select 表格,所以我想出了一個折衷方案。
而不是嘗試分隔 select 表單中的列/值:
<optgroup label=<column 1>>
<options> all column 1 values
</options></optgroup>
<optgroup label=<column 2>>
<options> all column 2 values
</options></optgroup>
相反,我在我的 for 循環中包含該列並將其與值一起閃爍:
for col in enu_cols:
flash(df.columns[int(col)], "message")
for val in range(len(df[df.columns[int(col)]].unique())):
message = f'[{col}] {df.columns[int(col)]}' \
f' - <{val}> {df[df.columns[int(col)]].unique()[val]}'
flash(message, "val")
因此,它現在將顯示在 select 表單中:
<option> [column 1] value 1 </option>
<option> [column 1] value 2 </option>
<option> [column 2] value 1 </option>
<option> [column 2] value 2 </option>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.