如何使用烧瓶获取标签文本

时间:2019-02-28 05:58:45

标签: python html flask

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

例如: 这是我的下拉列表

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

1 个答案:

答案 0 :(得分:1)

我认为HTML旨在仅在您发布时传递请求参数中的名称-值。它不会通过任何其他操作。

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

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

希望这会有所帮助。 还要看看这个答案,它有更多选择, How to get dropdown option label from POST request?