您的位置:首页技术文章
文章详情页

html - python制作下拉列表,怎样引用一个json文档里面的数据来实现。

【字号: 日期:2022-06-28 14:30:23浏览:28作者:猪猪

问题描述

想要在输入的html弄下拉列表,并且这个下拉列表的数据能引用我的数据库json。该在我的py文件编写什么代码?

这是我的输入的html,虽然在网页上能进行选择,但这样一个个填写太麻烦了html - python制作下拉列表,怎样引用一个json文档里面的数据来实现。

<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以后还要用来计算经纬度。html - python制作下拉列表,怎样引用一个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}}

恳求帮助。

问题解答

回答1:

首先在python里面把json转成dict,然后把机场名取出来:

import jsonjson_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>

标签: Python 编程