【发布时间】:2011-10-04 17:41:24
【问题描述】:
是否可以从自定义模板过滤器访问当前的User(即模板上下文中的user)?
显然我可以将用户作为参数传入,但如果可以只获取当前用户,那就更方便了。
【问题讨论】:
标签: django django-templates django-template-filters
是否可以从自定义模板过滤器访问当前的User(即模板上下文中的user)?
显然我可以将用户作为参数传入,但如果可以只获取当前用户,那就更方便了。
【问题讨论】:
标签: django django-templates django-template-filters
Django 过滤器没有对调用它们的上下文进行任何特殊访问,它们只是普通的旧函数。
你需要传入任何你想在函数中使用的东西。
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
【讨论】:
@register.simple_tag(takes_context=True) 替换过滤器与模板标签相当容易
在这里查看我的答案:
https://stackoverflow.com/a/28098279/201945
但是,简而言之,您可以从自定义过滤器中访问context,方法是在且仅在渲染期间调用过滤器时从调用堆栈中提取它。
诚然,这是一个随意的解决方案。买者自负。
【讨论】: