2012-02-06 93 views
0

我是新来的Django,我想弄清楚如何在管理站点内创建自定义操作。 假设我想创建一些基于UI的花哨ajax自定义窗体。 我通常在.NET/PHP/Ruby中做的是准备一些js代码和一个服务,这些服务将通过ajax调用并返回json甚至html。 一个更具体的例子可能是一个自动完成的框来管理多对一的关系。我应该怎么做才能在django管理站点内建立这样一个系统? (我知道这里有几个可以使用的解决方案,但我不感兴趣:仅用于研究目的)。在Django管理站点(不是列表操作)中创建自定义操作

回答

0

您可以轻松更改ModelAdminformtemplate

所以你可以自由地注入你喜欢的任何CSS和JS。看看这个presentation来获得基本的想法。

+0

我将不得不深入研究此演示文稿,但在快速浏览后,我认为我在寻找的是管理站点中的自定义视图。 来自其他mvc框架我仍然发现令人困惑的Django设计模式,我没有意识到Django(mtv)中的视图实际上是控制器(mvc)。 可能还有其他更简单的方法。我将不得不进行调查。 – user711643 2012-02-07 07:30:33

+0

说实话:我不确定你为什么要在管理员中构建自定义表单。 Django有许多帮助程序(https://docs.djangoproject.com/en/dev/topics/forms/modelforms/)来构建完全自定义的视图和表单。管理员只是快速输入数据的助手。所以如果你已经清楚了解该做什么,那么你就不应该费心调整管理员来满足你的需求。 – arie 2012-02-07 11:31:28

+0

对我来说这是一个全新的世界,所以我可能会忽略解决我的问题,即使它在我的鼻子下面。无论如何,管理网站是主要(唯一)的原因,可以让我选择django的网页开发。 如果我无法获得它的优势,并定制缺失的部分以适合我的需求,那么选择django没什么意义(这是我的观点)。 我不能认为管理网站只是一个快速和肮脏的数据输入工具。 – user711643 2012-02-07 16:18:40