【问题标题】:Display User's Django Rest Framework Auth token in templates在模板中显示用户的 Django Rest Framework Auth 令牌
【发布时间】:2020-06-27 14:49:39
【问题描述】:

我最近在我的项目中实现了 Django Rest Framework,我想知道是否可以显示附加了关联用户对象的 Token。

如果我可以在模板中执行此操作:{{ user.token }}。

【问题讨论】:

    标签: python django python-3.x django-templates


    【解决方案1】:

    您可以使用模板{% csrf_token %}显示令牌

    以及使用get_token(request) 的Python 代码。

    文档:https://docs.djangoproject.com/en/3.0/ref/csrf/

    【讨论】:

      【解决方案2】:

      你可以写中间件 例如:

      class GetUsrTokenMiddleware(MiddlewareMixin):
      FORWARDED_FOR_FIELDS = [
          'HTTP_X_FORWARDED_FOR',
          'HTTP_X_FORWARDED_HOST',
          'HTTP_X_FORWARDED_SERVER',
      ]
      
      def process_view(self, request, view_func, view_args, view_kwargs):
          if hasattr(request, 'user'):
              if request.user.is_authenticate():
                  token, created = Token.objects.get_or_create(user=request.user)
                  setattr(request.user,'token',token.key)
          return None
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-11
        • 2019-01-28
        • 1970-01-01
        • 2019-01-13
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 2018-07-10
        相关资源
        最近更新 更多