РЭМД Шаблоны: различия между версиями

Материал из Medlogic
(Новая страница: «=== Подключить шаблон === <syntaxhighlight lang="django"> {{ render_layout('CODE') }} </syntaxhighlight> === Даты === <syntaxhighlight lang="django"> {{ datetime_iso_format(document.date) }} > 2023-06-11T11:30:57.095982+10:00 {{ datetime_format(document.date) }} > 202306111130+1000 {{ date_format(document.date) }} > 20230611 </syntaxhighlight>»)
 
 
(не показано 15 промежуточных версий этого же участника)
Строка 1: Строка 1:
=== Jinja ===
https://jinja.palletsprojects.com/en/3.1.x/templates/
=== Подключить шаблон ===
=== Подключить шаблон ===
<syntaxhighlight lang="django">
<syntaxhighlight lang="django">
{{ render_layout('CODE') }}
{{ render_layout('CODE', replace_morty=True) }}
</syntaxhighlight>
 
=== Модуль pydash ===
https://pydash.readthedocs.io/en/latest/
<syntaxhighlight lang="django">
{% set street_name = pydash.get(document.data, 'patient.addresses.0.street.name', '-') %}
</syntaxhighlight>
</syntaxhighlight>


Строка 15: Строка 25:
> 20230611
> 20230611


{{ date_format('24.09.1988', '%Y-%m-%d') }}
> 1988-09-24
{% set parsed_date=parse_date('24.09.1988') %}
{{ parsed_date }}
> 1988-09-24 00:00:00
{% set parsed_date=parse_date('24.09.1988 12:10:00') %}
{{ parsed_date.strftime('%H:%M') }}
> 12:10
</syntaxhighlight>
=== Справочники ===
<syntaxhighlight lang="django">
{% set catalog_value=get_catalog_values('NSI27', data__ID=1002)[0] %}
{{ catalog_value.data }}
> {'ID': 1002, 'OKZ': '7441', 'NAME': 'Жировальщик кож', 'P_ID': '1', 'OKPDTR': '11955'}
{% set catalog_type=get_catalog_type('NSI27') %}
{{ catalog_type.data }}
> {'codeSystem': '1.2.643.5.1.13.13.99.2.855', 'codeSystemName': 'Профессии рабочих и должностей служащих', 'codeSystemVersion': '1.1'}
</syntaxhighlight>
=== Поиск подписанта (врача) ===
<syntaxhighlight lang="django">
{% set person=get_person(last_name="Ришко", first_name="Елена") %}
{{ person.snils }}
</syntaxhighlight>
=== Разное ===
<syntaxhighlight lang="django">
<ser:checksum>{{ organization_signature.detached_signature|checksum }}</ser:checksum>
</syntaxhighlight>
<syntaxhighlight lang="django">
{{ '<p>Test</p>'|remove_tags }}
</syntaxhighlight>
=== Подключение макросов из шаблонов ===
Шаблон с "Кодовым обозначением" TEMPLATE_CODE
<syntaxhighlight lang="django">
{% macro hello(name) %}
hello {{ name }}
{% endmacro %}
</syntaxhighlight>
В другом шаблоне импортируем
<syntaxhighlight lang="django">
{% from 'TEMPLATE_CODE' import hello with context %}
{{ hello('Rick') }}
</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 07:47, 28 августа 2024

Jinja

https://jinja.palletsprojects.com/en/3.1.x/templates/

Подключить шаблон

{{ render_layout('CODE', replace_morty=True) }}

Модуль pydash

https://pydash.readthedocs.io/en/latest/

{% set street_name = pydash.get(document.data, 'patient.addresses.0.street.name', '-') %}

Даты

{{ datetime_iso_format(document.date) }}
> 2023-06-11T11:30:57.095982+10:00

{{ datetime_format(document.date) }}
> 202306111130+1000

{{ date_format(document.date) }}
> 20230611

{{ date_format('24.09.1988', '%Y-%m-%d') }}
> 1988-09-24

{% set parsed_date=parse_date('24.09.1988') %}
{{ parsed_date }}
> 1988-09-24 00:00:00

{% set parsed_date=parse_date('24.09.1988 12:10:00') %}
{{ parsed_date.strftime('%H:%M') }}
> 12:10

Справочники

{% set catalog_value=get_catalog_values('NSI27', data__ID=1002)[0] %}
{{ catalog_value.data }}
> {'ID': 1002, 'OKZ': '7441', 'NAME': 'Жировальщик кож', 'P_ID': '1', 'OKPDTR': '11955'}

{% set catalog_type=get_catalog_type('NSI27') %}
{{ catalog_type.data }}
> {'codeSystem': '1.2.643.5.1.13.13.99.2.855', 'codeSystemName': 'Профессии рабочих и должностей служащих', 'codeSystemVersion': '1.1'}

Поиск подписанта (врача)

{% set person=get_person(last_name="Ришко", first_name="Елена") %}
{{ person.snils }}

Разное

<ser:checksum>{{ organization_signature.detached_signature|checksum }}</ser:checksum>
{{ '<p>Test</p>'|remove_tags }}

Подключение макросов из шаблонов

Шаблон с "Кодовым обозначением" TEMPLATE_CODE

{% macro hello(name) %}
hello {{ name }}
{% endmacro %}

В другом шаблоне импортируем

{% from 'TEMPLATE_CODE' import hello with context %}
{{ hello('Rick') }}