Передать переменную js в шаблон Jinja в Ckan - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу передать значение переменной javascript в шаблон jinja2 для запроса базы данных в соответствии с некоторыми пользовательскими запросами. Я могу хранить пользовательские запросы в переменной js, но не могу передать значение переменной в Jinja. У вас есть идея или пример? Я использую ckanпроект, поэтому я должен использовать шаблон Jinja. Я провел некоторые исследования, может быть, я должен использовать запрос AJAX, но как я могу узнать, какая функция будет работать на стороне бэкэнда, насколько я знаю, ckan использовать каркас pyloans на стороне бэкэнда. Как визуализировать шаблонв рамках Pyloans. У вас есть пример?

1 Ответ

0 голосов
/ 25 сентября 2018

Как уже указывал @ E.Serra , это невозможно: Jinja-шаблоны выполняются на сервере, а затем JavaScript выполняется в браузере.

СледовательноВы можете либо

  • вычислить желаемый контент при первой загрузке страницы и включить его в свой шаблон Jinja.Для этого вы бы реализовали интерфейс ITemplateHelpers и внедрили пользовательскую вспомогательную функцию, которую затем можно вызывать для вашего шаблона.
  • вычисляет требуемое содержимое асинхронно после загрузки страницы.Для этого вы бы отправили веб-запрос из JavaScript в конечную точку API CKAN.Если ни одна из существующих функций API не обеспечивает то, что вам нужно, вы можете добавить свою собственную, используя интерфейс IActions.
...