Есть ли лучший (Pythoni c) или Django способ использования таблицы с небольшими различиями на нескольких страницах? - PullRequest
0 голосов
/ 26 мая 2020

В настоящее время я использую pandas для создания таблицы, содержащей цены / данные, кратные «базовой» цене. например, для желаемой функции

Table I (on page1.html)
.---.-----------.-----------.------------.
|   |     A     |     B     |     C      |
:---+-----------+-----------+------------:
| 1 | $30       | $60       | $90        |
:---+-----------+-----------+------------:
| 2 | =A * 1.25 | =B * 1.25 | =C * 1.125 |
:---+-----------+-----------+------------:
| 3 | =A * 1.5  | =B * 1.5  | =C * 1.5   |
'---'-----------'-----------'------------'

Table II (on pagetwo.html)
.---.-----------.-----------.------------.
|   |     A     |     B     |     C      |
:---+-----------+-----------+------------:
| 1 | $35       | $65       | $95        |
:---+-----------+-----------+------------:
| 2 | =A * 1.25 | =B * 1.25 | =C * 1.125 |
:---+-----------+-----------+------------:
| 3 | =A * 1.5  | =B * 1.5  | =C * 1.5   |
'---'-----------'-----------'------------'

существует около 20-30 различных таблиц с разными ценами / суммами в базе или строке 1.

Есть ли способ pythoni c или django используя базовый шаблон и вводя только начальные цены на каждой странице html?

Я могу думать только об использовании таблицы pandas в базовом шаблоне без строки 1 (начальная цена) и передавать каждую страницы уважают строку 1 (цены), которая тогда должна отображать?!

1 Ответ

1 голос
/ 26 мая 2020

Как насчет этого?

In views.py:

from django.shortcuts import render

MULTIPLES = [1, 1.25, 1.5]

def calculate_rows(prices):
    rows = []
    for mult in MULTIPLES:
        rows.append(
            [mult * price for price in prices]
        )
    return records

def page1(request):
    rows = calculate_rows([30, 60, 90])
    return render(request, 'table.html', {'rows': rows})

def page2(request):
    rows = calculate_rows([35, 65, 95])
    return render(request, 'table.html', {'rows': rows})

In table.html:

<table>
  {% for row in rows %}
    <tr>
      {% for price in row %}
        <td>
          {{price}}
        </td>
      {% endfor %}
    </tr>
  {% endfor %}
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...