如何将JS框架与django表单集成

时间:2013-06-07 03:47:51

标签: django django-forms django-templates

我是django的新手。我使用django表单来呈现HTML表单。

我想用流行的JS框架“Select2”http://ivaynberg.github.io/select2/替换默认的ChoiceField。

我知道直接在HTML页面上这样做很容易,但我发现很难将它集成到django表单设计中。也许某些第三方django插件可以用作https://github.com/applegrew/django-select2,但是当我添加一个JS框架时,我可能需要越来越多的第三方django插件。

那么使用django表单的正确方法是什么?为什么django会在HTML页面之外使用HTML表单?与在Java中一样,所有HTML元素都将放在JSP页面中。

2 个答案:

答案 0 :(得分:0)

我只需在呈现表单的模板内的<script>中添加select2所需的<style>{% block extra_header %}标记即可。这些脚本标记应该加载select2库并直接在客户端为选择框运行它(不需要服务器端更改恕我直言)。任何可能需要的DOM更改也应该在这些脚本中完成(这样可以保持新功能的封装和隔离)。

{% block extra_header %}应直接加载到主模板的<header>部分。

答案 1 :(得分:0)

您可以编写自定义窗口小部件并将其附加到ChoiceField。 这不是一个单行,但看起来有人让你很容易。看看这个:

select2 with django choicefield