2015-05-11 88 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)