-1

我正在创建一个烧瓶表单,其中有带有值的下拉列表,我想获取下拉列表的文本。

例如:这是我的下拉列表

<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)
4

1 回答 1

1

我相信 HTML 旨在仅在您发布时传递请求参数中的名称值。它没有通过其他任何东西。

如果您可以控制 HTML,则可以在值中包含文本,例如 value=4-Delhi East

然后在你的代码中解析它。或者,如果您无法访问 HTML,您可以通过请求获取表单,然后您可以用漂亮的汤解析它并创建一个值和选项文本字典。

希望这可以帮助。另请查看此答案,它有更多选项, 如何从 POST 请求中获取下拉选项标签?

于 2019-02-28T06:44:24.617 回答