--- id: django-select2 version: "8.4.8" license: unclear license_treatment: permissive maintenance: active --- # django-select2 — This is a Django_ integration of Select2_. License: permissive · Maintenance: active · Downloads: 526.2K/mo ## What it is and what it does Django-Select2 wraps the Select2 JavaScript library to provide enhanced autocomplete and dropdown selection fields for Django forms. It replaces standard HTML select elements with searchable, filterable dropdowns that improve user experience when choosing from large or dynamic option lists. The package integrates directly into Django's form system, allowing developers to attach Select2 functionality to model choice fields with minimal configuration. The package is lightweight, depending only on Django itself and django-appconf for configuration management. It supports current Python versions (3.10 through 3.14) and recent Django releases (4.2, 5.2, 6.0). The project is actively maintained with a stable, production-ready status, making it suitable for adding polished autocomplete behavior to existing Django applications without heavy dependencies. Use it for: - Add searchable dropdowns to admin forms for selecting related objects from large tables - Implement typeahead search fields in user-facing forms to reduce selection friction - Build multi-select fields with filtering for choosing multiple related items efficiently - Replace standard select elements in data entry forms with autocomplete for better UX - Create dynamic choice fields that filter options based on user input in real time ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides custom autocomplete form fields for Django that integrate Select2 for enhanced user selection experiences in web forms. Yes. Django-Select2 is a stable, actively maintained package with low install friction and no known vulnerabilities. It solves a common UX problem in Django forms with a permissive license and broad Django version support. Install it when you need autocomplete or filtered selection fields beyond Django's built-in options. ## Install pip install django-select2 uv add django-select2 poetry add django-select2 ## Installing django-select2 Before you install: Low friction installation with only two runtime dependencies (django and django-appconf). Actively maintained with recent commits and stable production status across Django 4.2 through 6.0. License in practice: MIT license permits use in both open-source and commercial projects with minimal restrictions. Quickstart: pip install django-select2 from django_select2.forms import ModelSelect2Widget from django import forms class MyForm(forms.Form): my_field = forms.ModelChoiceField( queryset=MyModel.objects.all(), widget=ModelSelect2Widget() ) Requires Python 3.10 or later; Django 4.2, 5.2, or 6.0 Verify before relying: - Whether Select2 JavaScript library is bundled or requires separate frontend setup - Performance characteristics with large datasets or high-cardinality selections - Compatibility with Django's built-in autocomplete_fields feature mentioned in documentation ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 526.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django autocomplete fields, select2 integration django, typeahead search forms, django form autocomplete, select2 widget django, autocomplete dropdown django, django typeahead search, django-forms, autocomplete-ui, select2 [View on SkillFed](https://skillfed.io/packages/django-select2) · [View on PyPI](https://pypi.org/project/django-select2/)