一个django应用程序,用select2提供ajax自动完成功能。

django-select2-rocks的Python项目详细描述


DjangoSelect2

这个项目的灵感来自Django-Select2django-select2light

Django-select2-rocks是根据BSD 2条款许可证发行的。

安装

  1. pip install django_select2_rocks
  2. select2rocks添加到INSTALL_APPS
  3. python manage.py collectstatic将安装django select2 rocks js。
  4. 包括jquery(1.7+)、select2 js/css(未提供,用v3.4.5测试)和 在模板中选择2rocks/select2rocks.js。
  5. 现在,您可以在表单中使用Select2ModelChoiceField字段。

设计

django-select2-rocks提供了用于呈现和初始化select2输入的小部件。

小部件呈现是基于django的,接下来的一步是添加一个js 每个输入的初始化(在dom就绪时)。当在 输入字段,ajax请求被发送到与该字段关联的url。

widget api的设计允许您传递任何想要传递的参数 选择2 js code(例如allowclear选项)。

您可以使用各种json视图来回答select2 ajax查询,因此 调整搜索条件或结果的格式,可以扩展 默认django-select2-rocks后端(请参见testproj中的select2rocks-backends.js 例如)。

示例

testproj项目包含一个简单的json视图、一个tastype和一个 django rest框架视图。

importselect2rocksclassBeachForm(forms.Form):beach=select2rocks.Select2ModelChoiceField(queryset=Beach.objects.all(),widget=select2rocks.AjaxSelect2Widget(url_name='json_beaches'))

微妙之处

注意,字段的内部表示使用逗号(,)分隔项。因此,不能使用逗号 在你的标签上。否则我们会将其解释为分隔符并尝试处理逗号两边的文本, 很可能会破裂。

获取代码

django-select2-rocks是在github上开发的:

https://github.com/polyconseil/django-select2-rocks

您可以克隆公共存储库:

$ git clone git://github.com/polyconseil/django-select2-rocks.git

一旦您有了源代码的副本,就可以使用以下命令安装它:

$ python setup.py install

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF