想要在輸入的html弄下拉列表,而這個(gè)下拉列表的資料能引用我的資料庫json。該在我的py檔案中編寫什麼程式碼?
這是我的輸入的html,雖然在網(wǎng)頁上能進(jìn)行選擇,但這樣一個(gè)個(gè)填寫太麻煩了
<tr><td>起始機(jī)場(chǎng): </td><td><input type="text" name="user_placeofdeparture" placeholder="請(qǐng)輸入機(jī)場(chǎng)名稱" <input list="airport">
<datalist id="airport">
<option value="北京西郊機(jī)場(chǎng)">
<option value="內(nèi)蒙古赤峰機(jī)場(chǎng)">
<option value="長(zhǎng)治王村機(jī)場(chǎng)">
<option value="鄂爾多斯伊金霍洛機(jī)場(chǎng)">
</datalist></td></tr>
<tr><td>目的機(jī)場(chǎng): </td><td><input type="text" name="user_destination" placeholder="請(qǐng)輸入機(jī)場(chǎng)名稱" <input list="airport">
<datalist id="airport">
<option value="北京首都國際機(jī)場(chǎng)">
<option value="北京西郊機(jī)場(chǎng)">
<option value="內(nèi)蒙古赤峰機(jī)場(chǎng)">
<option value="長(zhǎng)治王村機(jī)場(chǎng)">
<option value="鄂爾多斯伊金霍洛機(jī)場(chǎng)">
</datalist>
</td></tr>
這是我的py文件,本來已經(jīng)把機(jī)場(chǎng)名字都放在這個(gè)txt裡了,但我的json也有這個(gè),並且這個(gè)json以後還要用來計(jì)算經(jīng)緯度。
我有點(diǎn)混亂了,我不清楚是該怎麼做。懇求幫助。
截取部分json文檔裡的內(nèi)容
{"北京首都國際機(jī)場(chǎng)": { "latitude":40.08010101, "longitude":116.5849991},"北京西郊機(jī)場(chǎng)": { "latitude":39.96080017, "longitude":116.2570038}, "內(nèi)蒙古赤峰機(jī)場(chǎng)": { "latitude":42.23500061, "longitude":118.9079971},"長(zhǎng)治王村機(jī)場(chǎng)": { "latitude":36.24750137, "longitude":113.1259995},"鄂爾多斯伊金霍洛機(jī)場(chǎng)": { "latitude":39.49, "longitude":109.8613889},"大同機(jī)場(chǎng)": { "latitude":40.06029892, "longitude":113.4820023}}
懇求幫助。
走同樣的路,發(fā)現(xiàn)不同的人生
先在python裡面把json轉(zhuǎn)成dict,然後把機(jī)場(chǎng)名拿出來:
import json
json_str = '{"北京首都國際機(jī)場(chǎng)": { "latitude":40.08010101, "longitude":116.5849991},"北京西郊機(jī)場(chǎng)": { "latitude":39.96080017, "longitude":116.2570038}, "內(nèi)蒙古赤峰機(jī)場(chǎng)": { "latitude":42.23500061, "longitude":118.9079971},"長(zhǎng)治王村機(jī)場(chǎng)": { "latitude":36.24750137, "longitude":113.1259995},"鄂爾多斯伊金霍洛機(jī)場(chǎng)": { "latitude":39.49, "longitude":109.8613889},"大同機(jī)場(chǎng)": { "latitude":40.06029892, "longitude":113.4820023}}'
airport_names = json.loads(json_str).keys()
// 然后把a(bǔ)irport_names傳給模板
然後在html檔案裡:
<datalist id="airport">
{% for airport_name in airport_names %}
<option value="{{ airport_name }}">
{% endfor %}
</datalist>