django链选择

时间:2009-12-16 12:24:56

标签: javascript jquery ajax django

django-smart-selects是一个优雅的解决方案,它使Django开发人员能够在其表单中链接选择输入。但正如开发人员在其问题列表中所报告的那样,它在表单集中使用时效果不佳。

它呈现的javascript与模型定义中“链式字段”的id相关联。

在formset中使用时,您认为如何使其工作?我认为窗口小部件的渲染方法(请参阅django-smart-choices代码)需要以某种方式了解formset(理想情况下,形成前缀)。但是如何?

2 个答案:

答案 0 :(得分:4)

我试过这个并且它有效---在django-smart-choices代码的widgets.py文件中,只需复制处理渲染javascript的部分并从文件中删除它。删除将此(现已删除)的javascript连接到输出的行。

对于您的表单集,请自行完成整个呈现。也就是说,在您的模板中,不要只执行{{form}}或{{formset}}或其他任何操作,而是通过在{form for formset中的{%}中执行{{form.field}}来明确布局所有单个字段。形成%}循环。

粘贴您从widgets.py复制的javascript代码,并使用javascript中的ID {{form.field.html_name}}

对其进行自定义

按照代码中的模式在javascript中写入您自己的自定义网址。

瞧!

答案 1 :(得分:0)

确保在javascript使用的元素ID中使用formset的name / id / index,这样它们仍然是唯一的