Есть ли контекстный процессор Django, как в Grails? - PullRequest
2 голосов
/ 09 февраля 2012

Я хочу вывести значение, которое является глобальным во всех шаблонах или даже макете в Grails, например, контекстный процессор Django, где вы можете визуализировать контекст и использовать его в качестве глобальной переменной в шаблонах.

Есть литакая концепция в Grails?И как я могу использовать это в макете?

1 Ответ

0 голосов
/ 15 октября 2012

Я совсем не знаком с Джанго. Посмотрел контекстный процессор Django в google, думаю, я понял. В основном он настраивает повторно используемые данные, которые вводятся в каждый шаблон? Во всяком случае, насколько я знаю, в Grails ничего подобного не существует. В качестве обходного пути можно попробовать следующее.

Использовать ApplicationContext

Каждый просмотр имеет доступ к приложению контекста. Поэтому создайте сервис, который содержит все необходимые данные, скажем, он называется fooService, а нужный элемент данных - это поле в сервисе, называемое bar (конечно, это тоже может быть метод). Затем, по вашему мнению, выполните $ {applicationContext.fooService.bar}. Ресурс для доступа к applicationContext в представлении: http://mrhaki.blogspot.com/2011/11/grails-goodness-get-grailsapplication.html.

Используйте свой макет

Я не уверен в этом, так что используйте на свой страх и риск. Верхний, конечно, очень многословен. Было бы неприятно называть это снова и снова в разных точках зрения. Поэтому вместо этого вызовите его один раз и сделайте его переменной в макете с помощью g: set. Я думаю, что переменная будет доступна в каждом представлении, которое использует этот макет .... но не уверен. Вот документы для g: set -> http://grails.org/doc/latest/ref/Tags/set.html.

Если я не понял, что делают контекстные процессоры в Python, я с удовольствием попробую еще раз ...

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