我正在创建一个烧瓶窗体,其中有带有值的下拉列表,我想获取下拉列表的文本。
例如: 这是我的下拉列表
<select name="city" id="cty" nameinerr="City" required="true">
<option value="" selected="selected">Select</option>
<optgroup label="Delhi / NCR (All)"><option value="6" class="">Delhi Central</option><option value="220" class="">Delhi Dwarka</option><option value="4" class="">Delhi East</option><option value="2" class="">Delhi North</option>
如果我选择了delhi east,我想得到的名字是delhi east,还有值,我的代码能够得到值,而不是文本。
请帮助
下面是我的烧瓶代码:
from flask import Flask, render_template,make_response, request
import os
from flask import redirect, url_for, request, send_file
import sys
import sqlite3
import datetime
from datetime import date
import csv
import io
import requests
from bs4 import BeautifulSoup
import functools
import time
#from Frontend import main
app = Flask(__name__)
@app.route("/", methods=["GET","POST"])
def main():
if request.method=="POST":
data = request.form.get("city")
datas = request.name["city"]# dont know what do here..
print(data, ">>>", datas)
## r = requests.get("http://127.0.0.1:5000").text
## soup = BeautifulSoup(r, "lxml")
## data = soup.find_all("option")
## for i in data:
## new = request.form.get("city").text
## print(new)
return render_template("index.html")
if __name__ == "__main__":
app.run(debug=True)
答案 0 :(得分:1)
我认为HTML旨在仅在您发布时传递请求参数中的名称-值。它不会通过任何其他操作。
如果您可以控制HTML,则可以在值中包含文本,例如您的情况 value = 4-Delhi East
然后在您的代码中解析它。 或者,如果您无权访问HTML,则可以通过请求获取表单,然后可以用漂亮的汤解析它并创建值和选项文本的字典。
希望这会有所帮助。 还要看看这个答案,它有更多选择, How to get dropdown option label from POST request?