2015-05-11 90 views
0

我正在为DRF中的android应用程序创建一个服务器端,它需要用户注册和登录\注销端点。当用户登录时也明显不同的权限。django rest框架中的用户注册

我跟着其余的框架教程在这里 - http://www.django-rest-framework.org/tutorial/1-serialization/和这个例子真的可以覆盖它在用户注册(创建)旁边。

在教程中,他们从命令行执行它(并创建超级用户)。我认为除了没有注册端点之外,这个教程示例对我的需求非常有用。

我的问题是:

如果它的事项,在实际上是一个用户配置模型,包括用户模型,并添加了PHONE_NUMBER我的用户模型...

非常感谢!

回答

0

一位普通用户拥有来自超级用户的不同权限,您应该为特定用户定制视图。这里是link为你在django中创建用户。

希望它有帮助。

+0

感谢您的回答。问题是,在他们从shell创建一个用户的链接中,我想要一个将被附加到视图的url(例如users/register)。在视图中,我想创建用户(使用从POST请求发送到视图的用户详细信息) –

+0

以及“为特定用户自定义视图”是什么意思? –

+0

@OfekAgmon这意味着一个普通用户会从超级用户看到不同的网页。 –

0

我已经从Django文档中复制它作为你的第一个问题的答案。

Django最强大的部分之一就是自动管理界面 。最好的事情是,你可以轻松地定制它。

如果以超级用户身份登录,您可以访问创建,编辑和删除任何对象(模型)。

您可以使用员工标志创建员工用户。 “员工”标志控制 用户是否被允许登录到管理界面(即, 该用户是否被视为您的 组织中的“职员”)。由于可以使用该相同的用户系统来控制对公共(即非管理)站点的访问,该标志区分公共用户和管理员之间的 。

“正常”管理员用户 - 即活动的非超级用户员工 - 通过分配的权限被授予管理员访问权限。通过管理界面可编辑的每个对象 都有三个权限:创建 权限,编辑权限和删除权限,用于您创建的所有 模型。

Django的管理站点使用权限系统,您可以使用该权限系统使 特定用户只能访问它们需要的界面部分。当你创建一个用户,该用户没有权限,这是 你来为用户提供特定的权限

你可以为你问的第二个问题做这样的事。

from django.contrib.auth.models import User 
from rest_framework.views import APIView 
from rest_framework import status 

class Register(APIView): 
    def post(self, request): 
     user = User.objects.create(
       username=request.data.get('email'), 
       email=request.data.get('email'), 
       first_name=request.data.get('firstName'), 
       last_name=request.data.get('lastName') 
      ) 
    user.set_password(str(request.data.get('password'))) 
    user.save() 
    return Response({"status":"success","response":"User Successfully Created"}, status=status.HTTP_201_CREATED)