A Django application to provide AJAX autocomplete with Select2.
Project description
Light integration glue between Django and Select2.
This project is inspired by Django-Select2 and django-select2light.
Django-select2-rocks is distributed under the BSD 2-clause license.
Installation
pip install django_select2_rocks
add django_select2_rocks to your INSTALL_APPS
python manage.py collectstatic will install Django Select2 Rocks JS.
Include jQuery (1.7+), Select2 JS/CSS (not provided, tested with v3.4.5) and select2rocks/select2rocks.js in your templates.
Now, you can use Select2ModelChoiceField fields in your forms.
Design
Django-select2-rocks provides widgets to render and initialize Select2 inputs.
The widget rendering is based on Django with a further step which adds a JS initialization for each input (on DOM ready). When a character is typed in the input field, an AJAX request is sent to the URL associated to the field.
The widget API is designed to allow you to pass any arguments you want to Select2 JS code (eg. allowClear option).
You can use various JSON views to answer to Select2 AJAX queries, and so to adjust search terms or the format of the results, it’s possible to extend the default django-select2-rocks backend (see select2rocks-backends.js in testproj for an example).
Example
The testproj project contains examples with a simple JSON view, a Tastypie and a Django REST framework view.
import select2rocks
class BeachForm(forms.Form):
beach = select2rocks.Select2ModelChoiceField(
queryset=Beach.objects.all()
widget=select2rocks.AjaxSelect2Widget(url_name='json_beaches'))
Get the Code
Django-select2-rocks is developed on GitHub:
You can either clone the public repository:
$ git clone git://github.com/polyconseil/django-select2-rocks.git
Once you have a copy of the source, you can install it with:
$ python setup.py install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-select2-rocks-0.2.tar.gz
.
File metadata
- Download URL: django-select2-rocks-0.2.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c258a9837577095ccee9b134e6c2c652fc0514e17660d8ce18116b2af7bd0e7 |
|
MD5 | 6463871576895a9e2359dc889aa3d409 |
|
BLAKE2b-256 | f9133a2de838fc0166a12d3a998887262613a140ab465af63695b622267df1b8 |