Могут ли пользовательские фильтры Django получить доступ к request.user? - PullRequest
8 голосов
/ 13 июля 2011

Возможно ли получить доступ к текущему User (то есть user в контексте шаблона) из пользовательского фильтра шаблона?

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

Ответы [ 2 ]

5 голосов
/ 13 июля 2011

Фильтры Django не имеют специального доступа к контексту, из которого они вызываются, они просто старые функции.

Вам нужно будет передать все, что вы хотите использовать в функции.

https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

0 голосов
/ 22 января 2015

Смотрите мой ответ здесь:

https://stackoverflow.com/a/28098279/201945

Но, короче говоря, вы МОЖЕТЕ получить доступ к context из пользовательского фильтра, извлекая его из стека вызовов, когда итолько когда фильтр вызывается во время рендеринга.

Это, по общему признанию, случайное решение.Пусть покупатель будет бдителен.

...