django-tagging-autocomplete-new is a jquery based autocomplete solution for django-tagging.
This is fixed version of django-tagging-autocomplete by @ludwiktrammer for Django 2.2.
django-tagging- Install package from PyPI:
pip install django-tagging-autocomplete-new- Add
taggingandtagging-autocomplete-newto installed apps in your's project's settings:
INSTALLED_APPS = [
...
'tagging',
'tagging_autocomplete_new',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',
...
]- Add route to your project's
urls.pyfile:
path('tagging_autocomplete_new/', include('tagging_autocomplete_new.urls'))You can use TagAutocompleteField() to enable autocompletion right in your
models.py. In most cases this is the easiest solution:
from django.db import models
from tagging_autocomplete_new.models import TagAutocompleteField
class SomeModel(models.Model):
tags = TagAutocompleteField()Alternatively you can use the TagAutocomplete() form widget while creating
your form:
from django import forms
from tagging.forms import TagField
from tagging_autocomplete_new.widgets import TagAutocomplete
class SomeForm(forms.Form):
tags = TagField(widget=TagAutocomplete())By default the maximum number of results suggested by the autocompletion is 100.
You can modify this number by adding to your settings.py project file
the TAGGING_AUTOCOMPLETE_MAX_RESULTS constant.
For example:
TAGGING_AUTOCOMPLETE_MAX_RESULTS = 5By default autocompletion suggests tags that start with a given term.
In case you need to show ones that contain the given term,
set TAGGING_AUTOCOMPLETE_SEARCH_CONTAINS to True.
For example:
TAGGING_AUTOCOMPLETE_SEARCH_CONTAINS = TrueBy default suggestions are shown right after you enter first character.
You can configure this behaviour using TAGGING_AUTOCOMPLETE_MIN_LENGTH.
For example:
TAGGING_AUTOCOMPLETE_MIN_LENGTH = 3