簡體   English   中英

Flask [Python] 將 flash 類別分配給迭代變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM