我在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'。 –