Невозможно получить значения в flask - PullRequest
0 голосов
/ 05 апреля 2020

Я использовал pymon go и извлек все значения в коллекции, которая хранится в атласе mon go, и мне нужен был только lat, поэтому я сохранил все значения lat следующим образом.

a_float = [a['Lat'] for a in results1] 

где results1 = collection1.find ({}) и collection1 = db ["Latitude"]

Сейчас в flask я пытаюсь сравнить входной lat с mon go lat. Каждый раз, когда еще условие выполняется. Мой flask код выглядит следующим образом:

@app.route("/")
def hello():
    return render_template('home.html')

@app.route("/echo", methods=['POST'])
def echo():
    a=request.form['lat']
    b=request.form['long']

    if a in a_float:
        msg = "present"
        return render_template('root.html', msg=msg, a=a, b=b)
    else:
        msg = "absent"

    return render_template('root.html', msg=msg, a=a, b=b)

Мой HTML код дома. html

<!DOCTYPE html>
    <head>

    </head>
    <body>
    <form method="POST" action="/echo">

        Enter the lat<input type="text" name = 'lat' >
        Enter the long<input type="text" name = 'long' >

        <input type="submit" value="submit">

    </form>
    </body>

</html>

root. html

<!DOCTYPE html>
<head>
</head>
<form>        
    </form>
    <body>


{{ msg }}
    Lat : {{a}}
    Long : {{b}}

    </body>
</html>

1 Ответ

1 голос
/ 05 апреля 2020

Вы уверены, что ваше сравнение того же типа?

Попробуйте преобразовать перед сравнением, если элемент списка имеет значения с плавающей запятой:

a = float(request.form['long'])

Или

a = request.form.get('long', type=float)

Подробнее об этом можно узнать здесь

...