我尝试创建一个django模板标签,其中我需要登录用户,例如
@register.filter()
def foo(id):
return Bar.objects.get(creator = request.user.id)
但我得到一个NameError,说没有定义请求。有没有办法在app_extras文件中访问请求对象?
答案 0 :(得分:2)
你可以使用simple_tag而不是过滤器,它接受" takes_context"参数。
@register.simple_tag(takes_context=True)
def foo(context):
user = context['request'].user
return Bar.objects.get(creator=user)
请记住" context"必须是第一个参数。