--- id: django-constance version: "4.3.5" license: BSD license_treatment: permissive maintenance: active --- # django-constance — Django live settings with pluggable backends, including Redis. License: permissive · Maintenance: active · Downloads: 1.2M/mo ## What it is and what it does Django-constance is a Django app that moves application settings from static configuration files into dynamic, runtime-modifiable storage. Instead of hardcoding values in settings.py or environment variables, you define settings once and then change them through the Django admin interface or programmatically without restarting your application. It supports multiple backends: a built-in Django model backend that stores settings in the database, and Redis for higher-performance distributed scenarios. The package integrates seamlessly with Django's admin interface, letting non-technical users or developers adjust application behavior on the fly. It's useful for feature flags, rate limits, feature toggles, or any configuration that benefits from runtime adjustment. With no external runtime dependencies and support for Django 4.2 through 5.2 on Python 3.8–3.13, it fits into existing Django projects with minimal friction. Use it for: - Enable or disable features in production without redeploying by storing feature flags in django-constance and checking them at runtime. - Adjust application parameters like rate limits, timeouts, or batch sizes through the Django admin without code changes. - Store user-configurable settings (e.g., email templates, notification thresholds) in a database backend for non-developers to manage. - Share configuration across multiple application instances using Redis backend for consistency. - A/B test or gradually roll out changes by toggling settings on and off for different user cohorts. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Django-constance lets you store and manage application settings dynamically at runtime using pluggable backends like Redis or Django's database, with built-in Django admin integration for easy updates without redeployment. Yes. Django-constance is actively maintained, has no external dependencies, carries a permissive BSD license, and solves a common Django problem cleanly. Use it when you need runtime-adjustable settings in a Django project. The Django model backend requires no extra infrastructure; add Redis only if you need distributed consistency across multiple app instances. ## Install pip install django-constance uv add django-constance poetry add django-constance ## Installing django-constance Before you install: Low install friction; no runtime dependencies. Actively maintained with recent commits and 1852 repository stars. Supports modern Django versions (4.2, 5.0, 5.1, 5.2) and Python 3.8–3.13. License in practice: BSD license is permissive, allowing use in commercial and proprietary projects with minimal restrictions. Quickstart: pip install django-constance # In settings.py, add 'constance' to INSTALLED_APPS # Then use: from constance import config value = config.MY_SETTING Requires Django to be installed and configured; the package itself is a Django app and cannot function standalone. Verify before relying: - Whether Redis backend requires additional setup or if Django model backend is sufficient for most use cases. - Performance characteristics when managing large numbers of settings across distributed systems. ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 1.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django dynamic settings, django live configuration, redis django settings, django admin settings management, pluggable django backends, runtime django configuration, django settings without restart, django-app, configuration-management, feature-flags [View on SkillFed](https://skillfed.io/packages/django-constance) · [View on PyPI](https://pypi.org/project/django-constance/)