2016-07-26 57 views
0

我對django的用戶權限模型缺乏基本的瞭解。 我基本上想要的是用戶可以使用按鈕刪除自己的帳戶。但是我擔心我授予用戶比用戶更多的刪除權限的權限。像刪除其他用戶一樣?!?Djangos用戶權限如何工作?

所以我想我必須使用像

myuser.user_permissions.add(permission, permission, ...) 

我紅https://docs.djangoproject.com/en/1.9/topics/auth/default/#topic-authorization

所以我需要寫模型方法,這我給獲准用戶執行?

+0

請記住,您還可以創建組,爲其添加權限並在後面添加用戶,以便他們可以以更有序的方式擁有此權限。它可以通過django管理站點或視圖上的代碼(取決於你喜歡什麼或考慮更適合)來完成。 – jsanchezs

回答

1

只是讓用戶刪除自己的帳戶,你並不需要權限系統。你可以這樣做:

from django.contrib.auth import logout 

def delete_my_account(request): 
    user = request.user 
    if user.is_authenticated(): 
     logout(request) 
     user.delete() 
     (then redirect, render a template or whatever)