Как представить условную таблицу Pandas в шаблоне Django? Как выполнить итерацию для получения строк?

как я могу получить таблицу условных обозначений Pandas в шаблон Django?

Сначала я создал функцию, которая возвращает таблицу случайности с данными из модели:

def monthly_quantity_table(table):

    mtable = pd.pivot_table(table, index="name", columns="link", values="quantity", aggfunc=np.sum, margins=True, fill_value=0, margins_name="TOTAL")

    return mtable

Второй я создал необходимый View, чтобы иметь возможность получить контекст для шаблона:

class StatsCategoryView(LoginRequiredMixin, FilterView):
    template_name = "stats/stats_category.html"
    model = SalesData
    filterset_class = StatsCategoryFilter

    ...
  
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        entry_data = self.object_list.values().order_by("date")

        ...
        
        try:
            mtable = utils.monthly_quantity_table(table)
        except:
            mtable = [0, 0, 0, 0]
        
        context["c1_m_table"] = mtable


        return context

Наконец, я попытался представить данные из таблицы случайности в шаблоне: Сначала я проверил, что данные есть и они работают. И это нормально, я вижу данные в шаблоне, функция и представление работают, но нет форматирования строк или столбцов:

<div class="row">
     <div class="col">
          {{ c1_m_table }}
     </div>
</div>

Но затем я попробовал выполнить итерацию по строкам из таблицы, но она не работает и я не получаю никаких данных:

<div class="row">
     <div class="col">
          {% for index, row in c1_m_table.iterrow %}
               {{ row }}<br>
          {% endfor %}
     </div>
</div>

Я хотел бы итерпретировать таблицу условных данных, чтобы получить определенные строки и отформатировать их в столбцы в шаблоне, есть ли какой-нибудь способ сделать это? Если я должен изменить условную таблицу на "стандартную таблицу" или я могу получить как-то строки/ячейки из условной таблицы?

Большое спасибо за помощь.

Вернуться на верх