简体   繁体   English

在 Django 模板视图中显示 DRF 用户令牌

[英]Show a DRF user token in a django template view

I have a very simple template view to allow user to view their drf token我有一个非常简单的模板视图,允许用户查看他们的 drf 令牌

from django.views.generic.base import TemplateView
from rest_framework.authtoken.models import Token
class AuthTokenView(TemplateView):
        template_name = 'view_auth_token.html'

        def get(self, request, *args, **kwargs):
            context = self.get_context_data(**kwargs)
            context['username'] = self.request.user.username
            context['token'] = Token.objects.get(user=self.request.user)
            return self.render_to_response(context)

I keep getting this even though I know Token is a model.即使我知道 Token 是一个模型,我也一直得到这个。 Any ideas?有任何想法吗?

> Internal Server Error: /get_auth_token/ Traceback (most recent call
> last):   File
> "C:\Users\****\Documents\GitHub\sanitydashboard\virtual\Lib\site-packages\django\core\handlers\exception.py",
> line 41, in inner
>     response = get_response(request)   File "C:\Users\****\Documents\GitHub\sanitydashboard\virtual\Lib\site-packages\django\core\handlers\base.py",
> line 187, in _get_response
>     response = self.process_exception_by_middleware(e, request)   File "C:\Users\****\Documents\GitHub\sanitydashboard\virtual\Lib\site-packages\django\core\handlers\base.py",
> line 185, in _get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)   File "C:\Users\****\Documents\GitHub\sanitydashboard\virtual\Lib\site-packages\django\views\generic\base.py",
> line 68, in view
>     return self.dispatch(request, *args, **kwargs)   File "C:\Users\****\Documents\GitHub\sanitydashboard\virtual\Lib\site-packages\django\views\generic\base.py",
> line 88, in dispatch
>     return handler(request, *args, **kwargs)   File "c:\users\****\documents\github\tat\****\auth\views.py", line 27, in
> get
>     context['token'] = Token.objects.get(user=self.request.user) AttributeError: type object 'Token' has no attribute 'objects'
> [12/Mar/2020 15:23:12] "GET /get_auth_token/ HTTP/1.1" 500 107766

I had to add this explicitly even though rest_framework was already added即使已经添加了rest_framework,我也必须明确添加它

INSTALLED_APPS = [
    ...
    'rest_framework.authtoken'
]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM