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

use*_*833 5 python django ice django-admin

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

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

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

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

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

正如您可能知道的那样,Django中的admin生成依赖于Django的ORM的使用; 我没有使用,因为我没有数据库可以访问.

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

谁知道我怎么能这样做?我需要什么子类?任何具体的想法?

谢谢你的时间.

And*_*ker 7

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

看看models.py,admin.py和urls.py这里:Django的webfaction

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

使用admin注册该模型.

然后,您可以拦截管理员网址并将其引导至您自己的视图.

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