Могу ли я передать элементы html в переменную jinja? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь настроить способ автоматического форматирования поля ввода для использования функции валюты модуля языка Python. Однако я сталкиваюсь с проблемой передачи ссылок на сегмент дзиндзя.

Если я жестко закодирую значение ввода, как это, оно дает мне правильно отформатированное значение:

<input onkeyup="this.value='{{ currency(20)) }}'>

Однако, вместо того, чтобы вводить 20, мне действительно нужно ввести пользовательский ввод, поэтому мне нужно передать текущее значение самого поля ввода.

Я пробовал что-то вроде:

<input onkeyup="this.value='{{ currency(this.value())) }}'>

Я также пытался использовать document.getElementbyId и ряд других вариантов, проблема в том, что ни один из этих объектов не доступен внутри {{}}. У кого-нибудь есть предположения, способен ли Джинджа выполнять этот тип динамической обработки?

1 Ответ

1 голос
/ 08 мая 2019

Это невозможно, потому что Jinja создает HTML-код перед отправкой страницы клиенту и запускается любой Javascript.

Единственный способ сделать это динамически в Python на стороне сервера - использовать AJAX-вызов, который будет очень неэффективным.

Я предлагаю вам найти реализацию функции форматирования валюты в Javascript. Быстрый Google это даст вам много вариантов.

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