跳转到主要内容

一个提供AJAX自动完成的Django应用程序,使用Select2。

项目描述

DjangoSelect2之间提供轻量级集成胶水。

本项目受Django-Select2django-select2light的启发。

Django-select2-rocks在BSD 2条款许可证下分发。

安装

  1. pip安装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版本兼容)和select2rocks/select2rocks.js。

  5. 现在,您可以在表单中使用Select2ModelChoiceField字段。

设计

Django-select2-rocks提供小部件来渲染和初始化Select2输入。

小部件渲染基于Django,进一步添加每个输入的JS初始化(在DOM就绪时)。当在输入字段中键入字符时,会向与字段关联的URL发送AJAX请求。

小部件API设计用于允许您将任何您想要的参数传递给Select2 JS代码(例如,允许清除选项)。

您可以使用各种JSON视图来响应用户选择2的AJAX查询,因此,为了调整搜索词或结果格式,您可以扩展默认的django-select2-rocks后端(请参阅testproj中的select2rocks-backends.js以获取示例)。

示例

testproj项目包含带有简单JSON视图和Django REST框架视图的示例。

import select2rocks

class BeachForm(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

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

django-select2-rocks-0.9.0.tar.gz (7.4 kB 查看散列)

上传时间 源代码

构建分发

django_select2_rocks-0.9.0-py3-none-any.whl (7.9 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面