我在Django REST框架中的令牌身份验证中遇到了一些问题。从文档我知道它是实现以下事项:Django REST框架身份验证令牌
from rest_framework.authtoken.models import Token
token = Token.objects.create(user=...)
print token.key
现在的问题是,究竟是什么进去的Token.objects.create(user=...)
的说法。答案here有帮助,它说这将提供一个外键用户的令牌模型。我不确定我了解这一点。
我有我自己的用户模型中定义的,像这样:
class Users(models.Model):
userid = models.IntegerField(primary_key=True)
username = models.CharField(max_length=255L, unique=True, blank=True)
email = models.CharField(max_length=255L, unique=True, blank=True)
password = models.CharField(max_length=64L, blank=True)
registeredip = models.CharField(max_length=255L, blank=True)
dob = models.DateField(null=True, blank=True)
firstname = models.CharField(max_length=255L, blank=True)
lastname = models.CharField(max_length=255L, blank=True)
joindate = models.DateTimeField()
class Meta:
db_table = 'Users'
我将如何创建满足在这种情况下,某些条件的用户令牌?
# View Pseudocode
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) #What goes here?
任何帮助或导致任何更多的文档/示例将真正帮助我在这里。谢谢!
你得到的错误是什么?它看起来像代码很好。 –
@kroolik本身并不是一个错误。我只是不确定我的理由是什么。 – geekchic
'Token.objects.create(user = <您的用户实例>)为'<您的用户实例>'创建一个标记。你可以在你的视图中插入这个语句,用户请求令牌传递'request.user'来代替'<你的用户instace>'。确保'request.user'是'User'的实例,而不是'AnonymousUser'。 –