2012-01-22 226 views
1

我想允許用戶有一個管理界面到他們自己的視頻對象。我正計劃編寫一些視圖,允許像「發佈」或刪除對象那樣設置屬性。Django管理員爲用戶的對象

我已經開始調查使用Django的管理網站 - 但似乎它可能是過分複雜的我想要的(只是刪除/設置發佈的屬性)。

一種方法比另一種更好嗎?從頭開始編寫或使用管理網站?

如果我是從頭開始寫的東西 - 什麼是實現的ModelAdmin風格動作的正確方法

+1

我會更好如果您使用管理站點並覆蓋您需要自定義的功能和模板。休息取決於您的需求。 –

+0

你想要做的是非常繁瑣和耗時的工作,可以在幾分鐘內用Django-Admin完成。我只會考慮如果我不希望用戶出於安全原因以任何方式訪問管理面板。 –

回答

4

這正是管理員應該用於(即delete_selected(查詢集,請求)。)!它怎麼會太複雜?即使寫幾行HTML也需要更長的時間。

如果你自己構建它,不管多麼簡單,你都必須定義視圖來列出對象,驗證輸入,檢查權限,編寫HTML,實現映射到Python代碼的某種多操作系統。 ..

假設你不想這樣做:

你會想看看製作multiple admin sites和過濾管理結果,只有那些通過

# pasted from docs 
class MyModelAdmin(admin.ModelAdmin): 
    def queryset(self, request): 
     qs = super(MyModelAdmin, self).queryset(request) 
     if request.user.is_superuser: 
      return qs 
     return qs.filter(author=request.user) 
屬於用戶
+0

有沒有辦法重寫提交的管理員登錄名? –

+0

Google是你的朋友! https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.AdminSite.login_template –