【问题标题】:create an admin's like application in django在 django 中创建一个类似管理员的应用程序
【发布时间】:2015-04-01 18:21:33
【问题描述】:

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

【问题讨论】:

  • 请发布您已经尝试过的解决此问题的方法。 SO 是一个可以在没有其他人为您编写代码的情况下获得帮助的地方。
  • 我还没试过;有很多事情要考虑;管理源代码对我来说有点复杂,我期待将允许的“ModelAdmins”部署到特定用户。应该有某种 django 对象来实现索引页面界面查找类似于管理员的模型...我正在谈论 [Model ][create][change] 用于用户有权管理的 evety 模型(创建,修改o 两者)
  • 您是否尝试过查看this 或此this?如果其中任何一个没有意义,我可以尝试解释。

标签: django indexing permissions admin


【解决方案1】:

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

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

  1. 了解并确保您对 django 管理应用程序感到满意
    从文档开始https://docs.djangoproject.com/en/1.7/#the-admin
  2. 转到 django 管理应用程序源代码,以便开始阅读要在新管理应用程序中实现/覆盖的功能的内部结构。
    源代码可以在这里找到https://github.com/django/django/tree/master/django/contrib/admin
    (这也可能涉及阅读其他应用程序源代码)

完成这两个步骤后,您应该对管理应用程序的实现方式及其依赖项有所了解,然后您就可以开始创建自定义管理应用程序了。

可以在此问题中找到有关如何进行的示例:
How to override Django admin's views?

【讨论】:

    【解决方案2】:

    如果您正在构建新的东西,请尝试将 UI 与后端分开。您可以使用 react、angular 或其他方式构建您的 UI,并使用 API 与 django 进行交互。要构建 API,您可以使用 Django Rest Framework。

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

    如果您开始使用 Django Admin 作为公共站点的界面,您将使用包来定制和保护视图以避免破坏性操作。如果你忘记了一个只读字段会发生什么?如果用户删除了 ON_CASCADE 的内容怎么办?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多