首先,還有另一個問題here詢問關於檢索元組值的問題,但是我嘗試了這個建議,並且它不適合我的需要(建議使用[1]
撥打第二個值即{{ form.staff.data[1] }}
- 這並沒有爲我工作WTForms SelectField中的第二個元組的Retreive值
我已經創建了這種形式基本上是一個下拉菜單與員工姓名成員是:
class StaffNames(Form):
staff = SelectField(
'staff',
choices=[("", ""), ('1', 'John Thomas'), ('2', 'Chris Davis'), ('3', 'Lyn Taco')], validators=[DataRequired()]
)
下面是相關的。 info視圖文件中的信息,下拉列表位於索引頁面上,結果以res結尾ULTS頁:
@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
def index():
form = StaffNames()
if form.validate_on_submit():
return redirect('/results')
return render_template('index.html',title='Search Page',form=form)
@app.route('/results', methods=['GET', 'POST'])
def results():
form =StaffNames()
return render_template('results.html',
title='Results',form=form)
這裏顯示的下拉中的index.html:
<!-- extend base layout -->
{% extends "base.html" %}
{% block content %}
<center>
<h1>Search</h1>
<form action="results" method="post" name="indexsearch">
{{ form.hidden_tag() }}
<p>{{ form.ranumber }} Enter RA Number</p>
{% for error in form.ranumber.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}<br>
<p>{{ form.staff }} Select your name</p>
{% for error in form.staff.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}<br>
<p><input type="submit" value="Search"></p>
</form>
{% endblock %}
這裏是一個意在顯示被選中的選項我results.html文件。
<!-- extend base layout -->
{% extends "base.html" %}
{% block content %}
<table border=1 >
<tr>
<th>Disc Number</th>
<th>Staff Name</th>
<tr>
<td> {{ form.ranumber.data }} </td>
<td> {{ form.staff.data }} </td>
</tr>
</table>
{% endblock %}
該下拉按照原樣工作,在上一頁輸入的信息打印在results.html頁面上。但是,當我打電話時:
{{ form.staff.data }}
正在打印來自SelectField的第一個元組數據。我想要稱之爲員工的真實姓名,例如,而不是打印「2」,它應該打印「約翰托馬斯」。我該如何調用第二個數據元組(即本例中的名稱)而不是第一個?
感謝
可能重複的[從Python元組獲取一個值](https://stackoverflow.com/questions/3136059/getting-one-value-from-a-python-tuple) –
@WillDaSilva我已經看到答案,它似乎表明我應該調用{{form.staff.data [1]}}但這不會產生結果。 – nmh