gee*_*hic 5 python django rest
我在 Django REST Framework 中遇到了令牌身份验证问题。从文档中我知道这是实现以下内容的问题:
from rest_framework.authtoken.models import Token
token = Token.objects.create(user=...)
print token.key
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,Token.objects.create(user=...). 这里的答案有帮助,它说这将提供一个外键给用户的令牌模型。我不确定我是否理解这一点。
我有自己的用户模型,定义如下:
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'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如何为满足特定条件的用户创建令牌?
# 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?
Run Code Online (Sandbox Code Playgroud)
任何帮助或导致更多文档/示例都会真正帮助我。谢谢!
可以肯定的是:我们正在谈论 django Rest 框架提供的 Token 身份验证?
如果是这样,这是非常简单的方法,其中使用令牌(随机 40 个字符)来代替用户名和密码。
DRF 提供的是一个表 ( Token),您需要在其中为用户创建条目,Token并引用您的用户模型(内置或活动自定义模型)。
最初没有创建令牌,您需要创建它们。
创建令牌的方法有多种,最常见的是:
基本上这意味着,您需要在代码中的某个位置创建Token实例,引用您的用户实例。
Token(user=user).save()
Run Code Online (Sandbox Code Playgroud)
现在,几点评论:
ps python 类名应该是单数(Users->User)