django校验token
时间: 2023-07-06 19:16:39 浏览: 125
在 Django 中,可以使用 Django Rest Framework (DRF) 提供的 TokenAuthentication 类来校验 Token。TokenAuthentication 类需要在 settings.py 文件中进行配置。以下是配置示例:
```python
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
}
```
然后,可以在视图函数或类中使用 @authentication_classes 装饰器来指定 TokenAuthentication 类进行认证。例如:
```python
from rest_framework.decorators import authentication_classes
from rest_framework.authentication import TokenAuthentication
@authentication_classes([TokenAuthentication])
def my_view(request):
# your view logic
```
在视图类中,可以在 class 属性中指定 authentication_classes,例如:
```python
from rest_framework.views import APIView
from rest_framework.authentication import TokenAuthentication
class MyView(APIView):
authentication_classes = [TokenAuthentication]
def get(self, request):
# your view logic
```
在进行 Token 校验之前,需要先生成 Token。可以使用 Django 内置的 Token 来生成 Token。例如:
```python
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
user = User.objects.get(username='myuser')
token = Token.objects.create(user=user)
```
这样就可以将生成的 Token 返回给客户端,然后客户端在请求时将 Token 放到请求头 Authorization 中即可进行 Token 校验。
阅读全文