【问题标题】:How to Replace Entire default Djnago Admin with custom Admin如何用自定义管理员替换整个默认 Django 管理员
【发布时间】:2019-05-14 12:46:11
【问题描述】:

我想用一个完全改进的引导程序版本替换默认的 Django Admin 模板。仪表板中的数据应从数据库中填充。如何使用模板文件?应该覆盖哪些文件? HTML代码放在哪个模板标签中?

【问题讨论】:

  • 这些文档不是很有帮助。如何获取平台中的用户总数、数据库中的预订信息等数据并显示在仪表板上。还可以通过仪表板编辑或更改数据库
  • Total number of objects。什么是预订信息?这不是默认管理员的一部分。似乎创建自己的管理员对您来说会更好,而不是替换现有的。
  • @Gasanov 我的项目就像一个电子商务网站,里面有关于用户的各种数据,用户的各种预订,完成的交易,支付状态等等。在这种情况下,最好的方法是什么?覆盖 Django Admin 或在 React/Angular/Vue 中创建一个独立的管理网站并使其通过 REST API 与 Django 后端通信?这两种方法在安全性/CSRF 令牌/功能/与默认 Django Admin/ 的差异方面会有什么限制?

标签: python django python-3.x django-admin


【解决方案1】:

来自django docs on admin

管理员推荐的使用仅限于组织的内部管理工具。它不适用于构建整个前端。

可以更改模板来做你想做的事,但这会非常复杂 - 你必须基本上重写大部分模板,了解它在内部是如何工作的,并且可能会改变它也适合您自己的设计(毕竟,您将展示具体的细节,如图表、数据等)。

如果您要构建自己的应用程序,您将更快地获得结果,该应用程序将完全按照您的需要运行,无需多次修复。是否必须使用js框架完全取决于您的要求。通常它们对于管理员后端来说要简单得多,这些后端将由所有者使用,而不是客户端。无论如何,如果你没有这方面的经验或知识,你可能会更好地使用简单的静态 django 模板。

Django admin 只是一个same app as the ones you build,所以限制是一样的。安全方面,它并没有提供太多你不能自己做的事情——确保你在模型/视图中设置了权限。阅读有关security in django 的更多信息。
从功能的角度来看,django admin 只是附带了对模型的 CRUD 访问,这可以很快完成。一旦你过去了,你将更容易为自己的应用程序添加功能,而不是覆盖 django admin。

总的来说,我建议您为类似 CMS 的管理面板构建您的应用程序。 JS 框架很简洁,但需要承担多个额外测试(使用 api 模拟)的负担,在添加 api/编写组件之间不断交换以及总体上花费更多时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多