在django中创建类似管理员的应用程序

时间:2015-04-01 18:21:34

标签: django indexing permissions admin

我真的很困惑我需要考虑的是创建一个与它自己的管理员具有几乎相似功能的django应用程序。 索引页面应该部署用户有权修改或创建的模型列表...几乎与放置admin.site.register(MyModel)但具有权限限制时相同。我不知道我应该如何ckeck权限,并显示1,2或许多" ModelAdmis"在我的主页上。 btw管理员用户被重定向到管理员索引页面,非管理员转到我的页面

2 个答案:

答案 0 :(得分:0)

在考虑从头开始创建django管理员之前,您应该阅读此问题的答案Django Admin app or roll my own?

我无法找到有关如何从头开始创建django管理员的任何资源,但如果这是您第一次覆盖框架的功能,那么您应该怎么做(以我的谦逊意见):

  1. 了解并确保您对django管理员应用感到满意 从文档https://docs.djangoproject.com/en/1.7/#the-admin
  2. 开始
  3. 转到django管理应用程序源代码,以便您可以在新的管理应用程序中开始阅读要实现/覆盖的功能的内部。
    源代码可在此处找到https://github.com/django/django/tree/master/django/contrib/admin
    (这可能还涉及阅读其他应用程序源代码)
  4. 完成这两个步骤之后,您应该了解管理员应用的实施方式及其依赖关系,然后您就可以开始创建自定义管理应用。

    这个问题可以在这个问题中找到一个例子:
    How to override Django admin's views?

答案 1 :(得分:0)

如果要构建新内容,请尝试将UI与后端分开。您可以使用react,angular或其他任何东西构建UI,并使用API​​与django交互。要构建API,您可以使用Django Rest Framework。

不要将Django Admin用作公共界面。仅用于管理员!

如果您开始使用Django Admin作为公共站点的界面,那么您将与该程序包进行斗争,以定制和保护视图以避免破坏性操作。如果忘记了只读字段会发生什么?如果用户删除了ON_CASCADE?

,该怎么办?

构建UI是完全免费的,您可以轻松自定义所有内容,而无需对抗django管理包(它是非常棒的包,但不提供给公众使用)