Передать запрашиваемые данные Flask конкретным зацикленным элементам div, которые запрашиваются из db - PullRequest
0 голосов
/ 01 мая 2019

Нуб здесь. У меня есть база данных, в которой есть несколько экземпляров одинаковых записей в определенных столбцах. Я запросил базу данных, чтобы подсчитать, сколько раз запись представлена ​​в столбце. В моем шаблоне я просматривал отдельные экземпляры в данных БД, и у меня есть конкретные div, связанные или показанные на веб-странице. В каждом div мне нужно показать общее количество экземпляров (которое будет технически общим количеством вызовов) в каждом div. Это та часть, над которой я бился головой.

Поскольку в БД нет фактического столбца, в котором указано количество вызовов, я создал запрос, который получает количество экземпляров указанного столбца. Я попытался добавить эти итоги в массив, а также в словарь и передать его в мой шаблон. Но после итерации по списку в моем указанном динамически созданном div он отображает все мои итоги. Я знаю, что есть лучший способ сделать это.

Вот маршрут:

@app.route('/', methods=['POST', 'GET'])
def reports():
form = ReportConfig()

location = Cdr.query.with_entities(Cdr.src).distinct().limit(9).all()

call_dict = {}
numberofcalls = 0

for x in location:
    total_calls = Cdr.query.filter_by(src=x.src).all()
    for y in total_calls:
        numberofcalls+=1
    call_dict[x.src] = numberofcalls
    print('The number of calls for ' + x.src, ':', numberofcalls)
print(call_dict)

return render_template('reports.html', title='Home', form=form, location=locations_, numofcalls= call_dict)

Вот шаблон, который показывает div, созданный на основе информации из базы данных. а также где мне нужно ввести общее количество.

                     <div class='col-4'>
                        <div>
                            <!-- I need the total number of calls here -->
                            {% for num in numofcalls%}
                            <p>{{numofcalls[num]}}</p>
                            {% endfor %}
                        </div>

                        <div>
                            <p>Test</p>
                        </div>

                        <div>
                            <p>Test</p>
                        </div>

                        <div>
                            <p>Average</p>
                        </div>

                    </div>

Я не могу описать это хорошо в заголовке. Но, пожалуйста, посоветуйте мне лучшую практику или укажите мне правильное направление Большое вам спасибо.

...