不,不在您的models.py中-在模型方面,您所需要做的就是rest_framework.authtoken
在您的中包含适当的app()INSTALLED_APPS
。这将提供一个外键给用户的令牌模型。
您需要做的是确定何时以及如何创建这些令牌对象。在您的应用中,是否每个用户都会自动获得令牌?还是只有某些授权用户?或仅在他们明确要求一个时?
如果每个用户都应该始终拥有一个令牌,那么在链接到的页面上会有一段代码片段,向您展示如何设置自动创建它们的信号:
@receiver(post_save, sender=User)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)
(将此文件放在任何位置的models.py文件中,并且在Django线程启动时将被注册)
如果令牌仅应在特定时间创建,则在您的视图代码中,您需要在适当的时间创建并保存令牌:
from rest_framework.authtoken.models import Token
def token_request(request):
if user_requested_token() and token_request_is_warranted():
new_token = Token.objects.create(user=request.user)
创建(并保存)令牌后,即可用于身份验证。
post_save
?