2012-01-22 35 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 –