5

我对 Django 比较陌生,对管理功能尤其陌生。我已经阅读了许多阐述内置管理站点的好处的文章,但我不确定它们应该在多大程度上使用。

一些一般性问题:

  • 什么样的数据库交互应该在管理员中,哪些应该是一般站点功能的一部分?
  • 我知道可以在管理站点上轻松更改/删除模型,但这是添加新对象而不是自定义页面的最佳方式吗?

一个更具体的问题:

  • 我正在创建一个用于跟踪包裹的网站。这个想法是工作人员每天会扫描并将许多(数百个)包插入数据库。我不确定这是否可以在管理员中有效地完成,因为当前添加模型的过程是一个缓慢的多步骤过程(我不知道可以定制到什么程度)。由于这是该站点的主要功能之一,它驻留在管理站点中似乎也很奇怪。在 Django 框架中编写我自己的页面会更有意义吗?还是我只是重写(可能效率较低)已经用 django-admin 创建的内容?

你们的任何建议或 Django 标准将不胜感激。

4

1 回答 1

5

通常 django-admin 应该用于 CRUD(创建、读取、更新和删除)操作。它应该用于您想要快速设置设施以允许人们管理数据的地方。它可以处理复杂的数据库关系和内联编辑,但是如果您的管理设施是定制的,那么构建一个单独的 django 应用程序会更合适。Django-admin 可以进行大量定制,您可以对其内部工作进行子类化,但是从长远来看,编写和维护您自己的应用程序要容易得多,尽管启动和运行它需要更长的时间。

确定 django-admin 是否适合使用的一种方法是选择一个重要的需求并尝试实现它,如果感觉在 django-admin 中实现它需要做很多工作,那么这可能是一个案例的鞋拔。我认为有时要求被开发人员硬塞到 django-admin 中,他们认为这是一个万能的解决方案,但它根本不是。

于 2012-11-06T10:59:55.890 回答