设计问题:Django Admin网站应该在多大程度上使用?

时间:2012-11-06 10:45:09

标签: django django-admin

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

一些一般性问题:

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

更具体的问题:

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

我们非常感谢您提出的任何建议或Django标准。

1 个答案:

答案 0 :(得分:5)

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

找出django-admin是否适合使用的一种方法是选择一个重要的要求并尝试实现它,如果感觉尝试在django-admin中实现它的很多工作那么它是可能是一个鞋匠的情况。我认为开发人员有时会将需求强加给django-admin,因为开发人员认为这是一个通用的解决方案,但根本不是。