我正在使用Django REST framework编码REST API。该API将成为社交移动应用程序的后端。完成本教程之后,我可以序列化所有模型,并且可以创建新资源并对其进行更新。
我正在使用AuthToken进行身份验证。
我的问题是:
获得/users
资源后,我希望应用程序用户能够注册。因此,拥有像/register
这样的单独资源还是让匿名用户通过POST来对新资源进行/users
更好?
另外,有关权限的一些指导也将非常有用。
最佳答案
因为我的序列化程序不希望显示/检索密码,所以我继续进行了自己的自定义 View 来处理注册。我使该URL与/ users资源不同。
我的网址配置:
url(r'^users/register', 'myapp.views.create_auth'),
我的看法:
@api_view(['POST'])
def create_auth(request):
serialized = UserSerializer(data=request.DATA)
if serialized.is_valid():
User.objects.create_user(
serialized.init_data['email'],
serialized.init_data['username'],
serialized.init_data['password']
)
return Response(serialized.data, status=status.HTTP_201_CREATED)
else:
return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
我可能是错的,但是似乎您不需要限制此 View 的权限,因为您想要未经身份验证的请求...