首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以单独使用Django管理创建一个面向最终用户的站点?

是否可以单独使用Django管理创建一个面向最终用户的站点?
EN

Stack Overflow用户
提问于 2010-01-06 14:56:40
回答 3查看 548关注 0票数 3

我对Django非常陌生,从来没有开发过它。

我正在尝试开发一个只向经过身份验证的用户公开功能的站点(典型的企业级内容:在这次讨论中,假设它是一个私有博客平台)。

我要寻找的功能是:

  • 用户可以创建一个新的博客。
  • 每个用户可以属于多个组:用户只能查看/评论由他所属的组成员创建的博客文章。
  • 每个用户只能修改/删除他创建的帖子。

在我看来,这本质上是一个带有访问控制的CRUD应用程序,管理应用程序似乎有很多这种功能内置。单独使用管理应用程序(而不是作为一个原型,作为一个发行版质量的解决方案)来开发这个完整的应用程序是可行的,还是应该超越(泛型视图)?ModelForms?)

我试图估计这需要多长时间(学习+实现),所以您的反馈可以给我一个好主意,除了教我这个新的Django世界的方法:)

编辑:具体来说,我担心的是每个对象/每行的权限。django wiki说权限系统不支持这一点,所以我仍然可以使用管理应用程序吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-06 15:04:01

修正了。直到你想要每个对象的许可,答案是肯定的。

只要你想要一个博客的许可(博客只是一行),你就必须做一些编码。

您可以完全重用管理接口元素。你有所有的来源,你可以读到。

您想要的大部分内容都是通过围绕管理功能的“包装器”完成的。

您编写的“包装器”视图函数检查对象permissions.

  • Your包装视图函数调用管理视图函数.

在此之后,您将希望将管理页中的样式表修复为您喜欢的外观。

票数 2
EN

Stack Overflow用户

发布于 2010-01-06 16:14:47

至于管理中的行级权限,在SVN版本的Django中,您可以覆盖has_add_permissionhas_change_permissionModelAdmin对象上的has_delete_permission方法,以便自己实现自定义权限逻辑,从而应用于整个管理。我非常肯定这个特性将出现在今年的1.2版中。它似乎还没有出现在文档中,但是如果您能够在Django源代码的django/contrib/admin/options.py文件中找到默认的方法,那么精确的指令就在docstring中。

不过,我不建议在管理员中完成整个应用程序。它可以很好的工作,在应用程序的部分,人们写他们的文章和创建他们的博客,但管理员将不适合仅仅显示数据,除非你写了很多定制代码。在Django中编写可以显示对象和提交注释的视图并不困难--大部分工作都在模板中。

票数 0
EN

Stack Overflow用户

发布于 2010-01-06 16:17:41

作为一种感觉,您真的不应该将一个潜在的大规模项目建立在Django-Admin之上。这有点傻,而且很多人对Django-Admin着迷,以至于他们的书中有一章是关于什么时候什么时候不要用它来作恶。

在我看来,为了让管理员在个性化方面看起来像一个相当体面的网站,你可能需要做所有的黑客活动,你最好在周末休息,真正学习你想搞鬼的工具,建立一个真正的网站。从逻辑上讲,你所描述的绝不是英雄。

这个场景让我想起了加菲猫的老漫画,他给猫买了一张极其昂贵而漂亮的床,而猫则选择睡在床进来的盒子里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2013736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档