Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Django jQuery Tags Input is a Django field and widget wrapper that adds an easy to use interface for `ManyToManyField` and `ForeignKey` fields in the forms of autocompleting tags with optionally live creation of new linked items

Project Description
Overview
--------

.. image:: https://travis-ci.org/WoLpH/django-tags-input.svg?branch=master
:target: https://travis-ci.org/WoLpH/django-tags-input

.. image:: https://coveralls.io/repos/WoLpH/django-tags-input/badge.svg?branch=master
:target: https://coveralls.io/r/WoLpH/django-tags-input?branch=master

Django Tags Input is a module that gives you a modified version of the Xoxco jQuery Tags Input library within Django.

The result is a very pretty interface with tags and autocomplete which can optionally automatically create new items when they are missing.

One of the most useful features of Django Tags Input is that it stores the elements in the order which you input.

So if you insert `B, A, C` into the database, it will return it sorted the way you entered it: `B, A, C`.

.. image:: https://raw.githubusercontent.com/WoLpH/django-tags-input/master/docs/example.png
:height: 322px
:width: 954px

Links
-----

- The source: https://github.com/WoLpH/django-tags-input
- Project page: https://pypi.python.org/pypi/django-tags-input
- Reporting bugs: https://github.com/WoLpH/django-tags-input/issues
- Documentation: http://django-tags-input.readthedocs.org/en/latest/
- My blog: http://w.wol.ph/

How to install
--------------

Installing this module only takes a couple of minutes.

Currently Django 1.8, 1.9, 1.10 and 1.11 are supported and tested in combination with Python 2.7, 3.2, 3.3, 3.4, 3.5, 3.6 and Pypy.

For Django 1.4, Django 1.5, Django 1.6 and Django 1.7 in combination with
Python 2.6 and 2.7. Python 3.2, 3.3 and 3.4. Pypy and Pypy3 version 2.1.0 can
be used.


1. Install the module itself

pip install django-tags-input

# or

easy_install django-tags-input

2. Add ``tags_input`` to your ``INSTALLED_APPS`` setting in the Django ``settings.py``.

Example:

.. code-block:: python

INSTALLED_APPS = (
# ... your other installed apps
'tags_input',
)

3. Add the mappings to your ``settings.py`` file:

Example:

.. code-block:: python

TAGS_INPUT_MAPPINGS = {
'some_app.SomeKeyword': {
'field': 'some_field',
},
'some_app.SomeOtherKeyword': {
'fields': ('some_field', 'some_other_field'),
},
'some_app.SomeSortedKeyword': {
'field': 'some_field',
'ordering': [
'some_field',
'some_other_field',
],
'filters': {
'some_field__istartswith': 'a',
},
'excludes': {
'some_field__iexact': 'foobar',
},
},
'some_app.SomeCreateableKeyword': {
'field': 'some_field',
'create_missing': True,
},
}

4. Add the ``tags_input`` urls to your ``urls.py``:

Example:

.. code-block:: python

from django.conf import urls

urlpatterns = patterns('',
url(r'^tags_input/', include('tags_input.urls', namespace='tags_input')),
# ... other urls ...
)


Admin usage
-----------

.. code-block:: python

from django.contrib import admin
import models
from tags_input import admin as tags_input_admin

class YourAdmin(tags_input_admin.TagsInputAdmin):

#Optionally specify which ManyToMany fields are to be used for tagging
#Or define a get_tag_fields() method
tag_fields = ["some_field"]

admin.site.register(models.YourModel, YourAdmin)

Quickstart
----------

To test the project simply clone the repository, install and run the example:

.. code-block:: bash

mkvirtualenv django-tags-input
git clone https://github.com/WoLpH/django-tags-input.git
pip install -e django-tags-input
cd django-tags-input/example
python manage.py runserver

Now you can go to http://localhost:8000/admin/ and login with username and
password `admin` and `admin` respectively.

After this you can try adding some extra `Foo` objects through the `Spam` admin
here: http://localhost:8000/admin/autocompletionexample/spam/2/

Note that some parts of the example are deliberately broken to test the
behaviour in broken environments.

Release History

Release History

This version
History Node

4.0.0

History Node

3.2.0

History Node

3.1.0

History Node

3.0.0

History Node

2.1.0

History Node

2.0.1

History Node

2.0.0

History Node

1.9.5

History Node

1.9.4

History Node

1.9.3

History Node

1.9.2

History Node

1.9.1

History Node

1.9.0

History Node

1.8.9

History Node

1.8.8

History Node

1.8.7

History Node

1.8.6

History Node

1.8.5

History Node

1.8.4

History Node

1.8.3

History Node

1.8.2

History Node

1.8.1

History Node

1.7.1

History Node

1.7

History Node

1.6

History Node

1.5

History Node

1.4

History Node

1.3

History Node

1.2

History Node

1.1

History Node

1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_tags_input-4.0.0-py2.py3-none-any.whl (12.9 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Sep 8, 2017
django-tags-input-4.0.0.tar.gz (8.4 kB) Copy SHA256 Checksum SHA256 Source Sep 8, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting