Django自定义中间件

时间:2016-01-24 10:21:42

标签: django authentication django-middleware

我正在尝试创建一个自定义中间件类,它将使用另一个数据(不是此数据所在的点)检查来自cookie的令牌,并返回用户名或一些错误。

我想它应该在process_request方法中完成,但是如何将此用户名进一步提供给process_view方法?

在我的模板中,我想像这样使用smth:

{% if logged_in then _show_username else _show_loginform_ %}

1 个答案:

答案 0 :(得分:1)

你可以和标准的auth中间件做同样的事情;将用户对象添加到请求中。

def process_request(self, requess):
    username = <...get from token...>
    request.username = username

现在您可以通过{{ request.username }}从模板访问它(假设您已启用请求上下文处理器)。