搜尋

首頁  >  問答  >  主體

html - python製作下拉清單,怎麼引用一個json文件裡面的資料來實現。

想要在輸入的html弄下拉列表,而這個下拉列表的資料能引用我的資料庫json。該在我的py檔案中編寫什麼程式碼?

這是我的輸入的html,雖然在網頁上能進行選擇,但這樣一個個填寫太麻煩了

    <tr><td>起始机场: </td><td><input type="text" name="user_placeofdeparture" placeholder="请输入机场名称" <input list="airport">
    <datalist id="airport">
    <option value="北京西郊机场">
    <option value="内蒙古赤峰机场">
    <option value="长治王村机场">
    <option value="鄂尔多斯伊金霍洛机场">
    </datalist></td></tr>

    <tr><td>目的机场: </td><td><input type="text" name="user_destination" placeholder="请输入机场名称" <input list="airport">
    <datalist id="airport">
    <option value="北京首都国际机场">
    <option value="北京西郊机场">
    <option value="内蒙古赤峰机场">
    <option value="长治王村机场">
    <option value="鄂尔多斯伊金霍洛机场">
    </datalist> 
    </td></tr>

這是我的py文件,本來已經把機場名字都放在這個txt裡了,但我的json也有這個,並且這個json以後還要用來計算經緯度。

我有點混亂了,我不清楚是該怎麼做。懇求幫助。

截取部分json文檔裡的內容

    {"北京首都国际机场": { "latitude":40.08010101, "longitude":116.5849991},"北京西郊机场": { "latitude":39.96080017, "longitude":116.2570038},  "内蒙古赤峰机场": { "latitude":42.23500061, "longitude":118.9079971},"长治王村机场": { "latitude":36.24750137, "longitude":113.1259995},"鄂尔多斯伊金霍洛机场": { "latitude":39.49, "longitude":109.8613889},"大同机场": { "latitude":40.06029892, "longitude":113.4820023}}

懇求幫助。

怪我咯怪我咯2721 天前959

全部回覆(1)我來回復

  • 習慣沉默

    習慣沉默2017-06-14 10:54:22

    先在python裡面把json轉成dict,然後把機場名拿出來:

    import json
    
    json_str = '{"北京首都国际机场": { "latitude":40.08010101, "longitude":116.5849991},"北京西郊机场": { "latitude":39.96080017, "longitude":116.2570038}, "内蒙古赤峰机场": { "latitude":42.23500061, "longitude":118.9079971},"长治王村机场": { "latitude":36.24750137, "longitude":113.1259995},"鄂尔多斯伊金霍洛机场": { "latitude":39.49, "longitude":109.8613889},"大同机场": { "latitude":40.06029892, "longitude":113.4820023}}'
    
    airport_names = json.loads(json_str).keys()
    // 然后把airport_names传给模板

    然後在html檔案裡:

    <datalist id="airport">
      {% for airport_name in airport_names %}
        <option value="{{ airport_name }}">
      {% endfor %}
    </datalist>

    回覆
    0
  • 取消回覆