Передача именованных аргументов функциям в шаблонах Django - PullRequest
0 голосов
/ 29 сентября 2010

У меня в контроллере Django есть функция, которая вызывается следующим образом:

trip.driverTrip.filter(status='pending')

Что будет эквивалентно вызову этого в шаблоне. Если я просто хочу вызвать функцию фильтра, будет достаточно следующего:

{{trip.driverTrip.filter}}

Но есть ли способ передать ему аргументы?

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

В Джанго нет контроллеров ... Вы имеете в виду a view;)?

Эквивалент в шаблоне будет:

{{ trip.driverTrip|filter:"pending" }}

Однако, чтобы это работало, ваша функция filter должна быть зарегистрирована как шаблонный фильтр и «загружена» в ваш шаблон. Вы не можете просто вызвать любую функцию (или метод), как это. Кроме того, если вы сделаете это, предполагая, что предыдущие условия выполнены, это означает, что вы передаете trip.driverTrip в качестве первого аргумента filter, а "pending" - дополнительный аргумент.

Это отвечает на ваш вопрос?

0 голосов
/ 29 сентября 2010

Система шаблонов django, вызывающая функцию внутри модели объясняет, что вы не можете сделать это напрямую, но этот сайт также предлагает обходной путь.

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