まずはまた、あなたがtoken_requiredデコレータを作成する必要があり、models.pyでモデルトークンを作成します。ユーザーのログイントークンが作成され、ログアウトトークンが破棄されるたびに
ログイン:
def login(request):
username=request.payload.get('username')
password=request.payload.get('password')
user,err=Auth.authenticate(username,password)
if err:
raise Exception()
token=Token.generate()
#you can return user
return {'token':token}
デコレータ:
def token_required(func):
def inner(request, *args, **kwargs)
try:
request.token=Token.objects.get(token=token)
return func(request, *args, **kwargs)
except Token.DoesNotExists:
pass
return inner
ログアウト:
@token_required
def logout(request):
if request.method=='POST':
request.token.delete()
return {'status':'ok'}
その優れたソリューション。しかし、いくつかの微調整は、それを動作させるために行われなければならない –