我应该使用Django的管理功能吗?

Jon*_*mon 10 django django-forms django-admin

我正在构建一个基于Django的评论网站,公共用户在该网站上创建网站上的所有内容.用户为给定项目创建评论,并且还创建将被审查的项目本身(提供项目的描述和简要摘要,以及一些标签).

我的问题是:我应该在这个网站上使用Django的管理功能(如,向公众用户公开管理控制)?或者我应该坚持正常形式?我不太熟悉Django的管理方面,到目前为止我一直在使用网站的表单,但我看到很多人都在谈论Django的管理功能,我开始怀疑如果我应该使用它们.

感谢您的任何反馈!

Dan*_*air 9

也许.如果管理功能涵盖了您想要提供的大部分功能,那么就没有理由不将它作为起点.

django.contrib.admin是一个与其他应用程序类似的应用程序,它基本上为您的模型提供了一个CRUD接口.可以通过组/权限来控制访问,就像您自己编写的应用程序一样.您可以完全访问具有单行的模型,但显然必须在打开其他人时正确配置.

另请参阅我的问题 Django AdminSite/ModelAdmin给最终用户? 和类似的问题向用户公开django管理员.有害?以及如何让非员工用户访问Django管理站点?

关于管理员"预期用途"的争论,请注意Django去年年底的安全更新:http://www.djangoproject.com/weblog/2010/dec/22/security/关于对象列表中的查询字符串参数.这样的更新(引用:"有权访问管理员的攻击者")清楚地表明管理员对权限系统的实现正在不断受到审查.


eli*_*rar 5

我不会向普通用户公开管理界面。您可以使用身份验证和用户管理端(出于您的目的),但通常最佳实践是为用户提供单独的方式来管理其对象。您也不会冒向用户授予错误权限(或允许他们授予自己的权限)的风险。

如果您想更好地了解它的功能,请阅读文档


Joh*_*Mee 5

不。django admin 不适合任何最终用户。

django 管理功能旨在帮助网站开发人员,仅此而已。甚至站点管理员的使用也是禁忌的,尽管在实践中大多数小型站点都避免使用它,因为他们只是在谈论少数人,如果他们遇到麻烦,可以亲自打电话给开发人员。

出于您的目的,审查项目和创建项目的工作流程是您的应用程序功能集的关键部分。管理员会给你一些想法,但试图在它上面构建你的应用程序是错误的。

  • Django admin 适用于站点管理员。它可以像任何普通网站后端一样使用,网站管理员可以在其中添加和管理网站。无处是文档,据说仅适用于“网络开发人员” (2认同)