#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
? Откуда берутся эти данные?