[英]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.