Сокращение дзиндзя, если заявления - PullRequest
0 голосов
/ 31 мая 2019

Я создаю веб-приложение, которое позволяет пользователям создавать временные рамки (например, для построения мира или романов).

В этом случае для исторического события пользователь может ввести следующие 8 вещей: начальный год / месяц / день / час и конечный год / месяц / день / час, при этом требуется только начальный год.

Приложение вставляет их в базу данных вместе с остальными деталями записи в два столбца: начальная дата, которая содержит начальный y / m / d / h и конечную дату, которая содержит конечный y / m / d / h.Эти строки отформатированы так: 'Y:M:D:H'.Иногда они могут быть '203:None:None:None' или '203:None:23rd:None' и т. Д.

Я пришел к тому, чтобы отображать их в своем веб-приложении с помощью jinja, и до сих пор параметры, которые я должен отображать, очень длинные и будут простоочень большое количество ifs / elifs.

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

note: sy = startгод, еу = год окончания, см = месяц начала и т. д. и т. д.Они получены через sy,sm,sd,sh=era_entries_dict[era][5].split(':').Этот код находится внутри цикла for списка эр и отображает исторические записи в эрах.

{% if (sm == 'None') and (sd=='None') and (sh=='None') %}
    {% if ey == 'None' %}
        <h6 class="text-muted">{{ sy }}</h6>
    {% else %}
        {% if (em=='None') and (ed=='None') and (eh=='None') %}
            <h6 class="text-muted">{{ sy }} > {{ ey }}</h6>
        {% elif (ed=='None') and (eh=='None') %}
            <p class="text-muted">{{ sy }} > {{ sm }} {{ sy }}</p>

По сути, если это только годы сами по себе (sy или * 1023)* и ey) он будет в теге h6, в противном случае - в теге абзаца.

Есть ли способ сделать это короче?Я ценю любые советы / советы.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...