Django,如何生成没有模型的管理面板?

2024-04-21

我正在构建一个相当大的项目,基本上包括以下内容:

服务器1: 冰基服务。 Glacier2 用于会话处理。 允许访问 Glacier2 的防火墙。

服务器2: 通过 Glacier2 提供 Ice 服务的 Web 界面(读取、公共)。 通过 Glacier 2 的 Ice 服务的管理界面。

我关心的一点是网络界面。我想使用 Django,因为它是用 python 编写的,并且具有非常有用的自动管理面板生成器。

Web 界面不访问任何数据库。它通过 Glacier2 路由器连接到服务器 #1 上的 Ice 服务,并使用这些服务公开的 API 来操作数据。

你可能知道,Django 中的 admin 生成依赖于 Django ORM 的使用;我没有使用它,因为我没有可以访问的数据库。

因此,我需要生成管理面板,但是,我需要拦截任何“db-access”调用并将它们转换为 Ice 服务调用,然后获取服务的输出,而不是像 ORM 通常那样进行标准数据访问(如果有的话),将其转换为 ORM 通常返回的内容并将控制权返回给 Django。

有人知道我该怎么做吗?我需要子类化什么?有什么具体想法吗?

谢谢你的时间。


我认为可能有比编写自定义 ORMS 更简单的方法来获得您想要的管理集成。我在一个应用程序中使用了它,该应用程序允许通过控制面板 API 管理 Webfaction 电子邮件帐户。

在这里查看 models.py、admin.py 和 urls.py:django-webfaction http://code.google.com/p/django-webfaction/

要在管理索引页面上创建条目,请使用已 Managed=False 的虚拟模型

向管理员注册该模型。

然后,您可以拦截管理 URL 并将它们定向到您自己的视图。

如果管理员提供的添加/编辑/删除操作对您的应用程序有意义,那么这是有意义的。否则,您最好覆盖管理索引或更改列表模板以包含您自己的自定义操作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django,如何生成没有模型的管理面板? 的相关文章

随机推荐