Есть ли функция для обновления отфильтрованного словаря при изменении входного значения в Python и Flask?

#python #flask

Вопрос:

У меня есть словарь данных о домах, которые я хочу отфильтровать по цене.

Вот текущая структура в маршруте индекса:

 @app.route('/') def index():  output_dict = purchaseDF.to_dict(orient='records')   for sub in output_dict:  for key in sub:  sub['ListPrice'] = float(sub['ListPrice'])   res = [d for d in output_dict if d['ListPrice']lt;=float(calcprice())]  

Вот маршрут calcprice:

 @app.route('/calcprice', methods=['GET', 'POST']) def calcprice():  price = '120000'  if request.method == 'POST':  testVal = request.form  price = str(testVal['Income'])  return price   

У меня есть значение по умолчанию, которое перезаписывается формой в Flask при изменении значения.

Я застрял на том, чтобы обновить словарь при изменении формы в колбе.

Комментарии:

1. повторение диктанта просто повторяет клавиши. вы можете использовать your_dict.items() для получения пар ключ/значение. можете ли вы показать фрагмент того, как output_dict это выглядит? потому что я даже не уверен, как вы не получаете ошибку в этом коде.

2. Да, сэр. {‘Номер MLSNumber’: ‘4144075’, ‘Цена по списку’: ‘565000,00’, ‘Общее количество кроватей’: ‘4’, ‘Площадь номера ML’: ‘Пробег Шайенна’, ‘Номер улицы’: ‘859’, ‘Название улицы’: ‘Выкуп’, ‘Почтовый код’: ‘80905’, ‘Таксомоторный счет’: ‘1366,00’}

3. для ключа в sub: —gt; Я отключил эту строку, так как это, по-видимому, было бессмысленно

4. О, я вижу, я только что запустил пример кода, похожий на то, что у вас есть: output_dict это список диктовок!

Ответ №1:

Я бы сделал это:

 result_list = []  for item in output_list:   item['ListPrice'] = float(item['ListPrice'])   if item['ListPrice'] lt;= float(calcprice()):   result_list.append(item)   

Я проверил, что вышесказанное делает то, что вы хотите, с этими образцами данных из вашего комментария:

 In [10]: output_list Out[10]:  [{'MLSNumber': '4144075',  'ListPrice': 565000.0,  'BedsTotal': '4',  'MLSAreaMinor': 'Cheyenne Run',  'StreetNumber': '859',  'StreetName': 'Redemption',  'PostalCode': '80905',  'TaxAmount': '1366.00'}]  

Комментарии:

1. Спасибо. Как мне получить данные о index.html чтобы узнать об изменении цены? Вот div… но когда цена меняется, список не обновляется.

2. lt;класс div=»строка»gt; {% для товара в покупке %} lt;класс div=»строка»gt;lt;класс div=»col-lg-12″gt; lt;класс div=»col-lg-12″gt;lt;класс div=»карточка»gt; lt;класс div=»карточка»gt;lt;класс div=»тело карточки»gt; lt;класс div=»тело карточки»gt;lt;класс h5=»название карточки»gt; MLS: {{ товар[‘Номер MLSNumber’] }}lt;класс h5=»название карточки»gt;lt;/h5gt; lt;/h5gt;lt;p класс=»текст карточки»gt;Цена по прейскуранту: {{ товар[‘Цена по прейскуранту’] }}lt;p класс=»текст карточки»gt;lt;/pgt; lt;/pgt;lt;/divgt; lt;/divgt;lt;/divgt; lt;/divgt;lt;/divgt; {% endfor %} lt;/divgt;lt;/divgt;

3. Хм, на самом деле, я. Это еще не вся проблема: с чего ты вообще начинаешь purchaseDF ? Откуда берутся эти данные?