DRF就是Django REST framework,官网是http://www.django-rest-framework.org/,我正在使用它来实现我们的移动APP数据接口,感觉非常的爽。
下面是对使用中出现的问题进行一些记录。
- 用户模型
在django1.6及以上版本,默认使用django.contrib.auth.models.User进行签权。如果需要使用自定义的用户模型,需要扩展 AbstractUser类,并且在settings.py里进行设置:
自定义的User Model有三种方法 1)扩展 AbstractUser类 2)扩展 AbstractBaseUser类 3)使用OneToOneField。
- 登录认证
DRF支持多种签权方式,需要在settings.py里进行设置:
我们项目采用的是JWT的签权方式,所以还可以对JWT_AUTH的参数进行特别设置:
默认的JWT_RESPONSE_PAYLOAD_HANDLER方法是“rest_framework_jwt.utils.jwt_response_payload_handler”,因为默认只返回一个”token”字符串,我们还需要返回用户的其他信息(比如用户ID),所以我们要自己一个response_payload_handler方法
- 关系表的序列化
这个按官方文档就可以了,最重要的是模型里不要忘记写“related_name”