2015-09-02 52 views
1

在Django-admin中,是否可以創建功能以便管理員可以在服務器運行時通過django-admin創建/編輯/刪除某些權限?在服務器運行時通過django-admin添加自定義權限

在Django管理員我想要的權限可以列出,編輯創建和刪除功能

在模型類的子類的Meta使用權限將通過創建腳本遷移自定義權限。從https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#custom-permissions

class Task(models.Model): 
... 
    class Meta: 
     permissions = (
      ("view_task", "Can see available tasks"), 
      ("change_task_status", "Can change the status of tasks"), 
      ("close_task", "Can remove a task by setting its status as closed"), 
     ) 

採取 這將插入上auth_permission(和django_content_type) 值,但需要數據庫遷移,這意味着不可能通過用戶(管理員),但開發人員,而不是來完成。在服務器運行時,應用程序不需要管理權限,創建,編輯和刪除嗎?我想知道人們是如何使它在Django上工作的。

那麼創建此功能的最佳做法是什麼?或者我應該堅持使用migrate &在每個模型中創建它們,因爲每次我們實現新功能時,我們需要重新加載服務器的方式是如何實現python web框架的行爲?三江源

回答

3

您可以Permission模型註冊到管理視圖:

from django.contrib.auth.models import Permission 
from django.contrib import admin 
admin.site.register(Permission) 

那裏得到執行的代碼可以在任何地方,但你的應用程序的admin.py可能是一個直觀的地方,堅持在它之後,您將能夠查看,編輯和刪除權限。

相關問題