Skip to Content
DocsGetting StartedWhy Django-CFG

Why Django-CFG?

Django-CFG is the next-generation Django framework designed for enterprise applications. Built with Pydantic v2, it provides 100% type safety, AI-powered workflows, production-ready integrations, and seamless deployment.

The Real Problem with Traditional Django

Traditional Django requires weeks of manual setup for production-ready features that modern applications need.

Traditional Django Reality

# 500+ line settings.py DEBUG = True # ❌ Forgot to disable in production SECRET_KEY = "hardcoded" # ❌ Secret in repository DATABASES = {'default': {...}} # ❌ Manual routing INSTALLED_APPS = [...] # ❌ 50+ apps to configure MIDDLEWARE = [...] # ❌ Manual security setup # Missing enterprise features: # ❌ No type safety # ❌ No AI agents # ❌ No support tickets # ❌ No user profiles with OTP # ❌ No newsletter system # ❌ No lead management # ❌ No background tasks # ❌ No webhook testing # ❌ Ugly 2010 admin interface # ❌ No API documentation # ❌ No multi-database routing # ❌ No maintenance mode # ❌ No currency conversion

Time to production: 3-6 months of development for basic enterprise features.

Django-CFG Solution

# config.py - Production-ready in 30 seconds from django_cfg import DjangoConfig class MyConfig(DjangoConfig): project_name: str = "My Enterprise App" # ✅ Type-safe configuration (Pydantic v2) # ✅ Modern admin interface (Unfold + Tailwind) # ✅ Real-time dashboard (Live metrics, KPIs) # ✅ Multi-database routing (Smart auto-routing) # ✅ API documentation (Auto-generated OpenAPI) # ✅ Built-in enterprise apps (one line each!) enable_accounts: bool = True # User management + OTP auth enable_support: bool = True # Ticket system + chat enable_newsletter: bool = True # Email campaigns + tracking enable_leads: bool = True # CRM + lead capture enable_maintenance: bool = True # Multi-site Cloudflare enable_agents: bool = True # AI workflow automation enable_knowbase: bool = True # AI knowledge management # ✅ Background tasks (ReArq) # ✅ Webhook testing (ngrok) # ✅ Email, SMS, Telegram (Twilio integration) # ✅ Currency conversion (14K+ currencies) # ✅ LLM integration (OpenAI/OpenRouter) config = MyConfig()

Time to production: 30 seconds to full enterprise application! 🚀


Why Django-CFG is a Game-Changer

1. 🔒 Type-Safe Configuration

Problem: Traditional Django has zero type safety - typos break production at runtime.

# ❌ Traditional Django - Runtime disaster DATABASES = { 'default': { 'PORT': '5432', # String instead of int - crash! 'NAMEE': 'mydb', # Typo - silent failure } }

Solution: 100% type safety with Pydantic v2 validation.

# ✅ Django-CFG - Compile-time validation class MyConfig(DjangoConfig): databases: dict[str, DatabaseConfig] = { "default": DatabaseConfig( engine="postgresql", name=env.database.name, # Type-checked port=5432, # IDE validates type ) }

Benefits:

  • IDE autocomplete - Never mistype a setting
  • Compile-time errors - Catch bugs before running
  • Full IntelliSense - See all available options

2. 🤖 AI Agents Framework

Problem: Building AI workflows requires weeks of custom code.

Solution: Enterprise-grade AI agents with type-safe workflows.

from django_cfg.agents import Agent, Workflow, Context from django_cfg.agents.toolsets import ORMToolset, CacheToolset @Agent.register("document_processor") class DocumentProcessorAgent(Agent): """AI-powered document processing.""" name = "Document Processor" toolsets = [ ORMToolset(allowed_models=['documents.Document']), CacheToolset(cache_alias='default'), ] def process(self, context: Context) -> dict: document_id = context.get("document_id") # AI-powered analysis with Django ORM access document = self.tools.orm.get_object("documents.Document", id=document_id) analysis = self.analyze_document(document.content) # Cache results self.tools.cache.set_cache_key( f"analysis:{document_id}", analysis, timeout=3600 ) return {"status": "completed", "analysis": analysis} # Use in workflows result = DocumentProcessorAgent().run({"document_id": "doc_123"})

Perfect for:

  • 📄 Document processing
  • 🤖 Customer support automation
  • 📊 Data analysis
  • 🔄 Business process automation

3. 🎫 Built-in Enterprise Apps

Problem: Support tickets, user management, CRM take months to build.

Solution: Production-ready apps enabled with single flags.

Support Ticket System (enable_support: bool = True)

# ✅ Complete support system in one line enable_support: bool = True # Automatically provides: # - Ticket management # - Modern chat interface # - Email notifications # - Admin dashboard integration # - REST API endpoints # - Real-time ticket statistics

Advanced User Management (enable_accounts: bool = True)

# ✅ Multi-channel OTP authentication enable_accounts: bool = True # Automatically provides: # - Email OTP authentication # - SMS OTP authentication (Twilio) # - Phone number verification # - User profiles and activity tracking # - Registration source tracking # - Security audit logs # - Custom user model (AUTH_USER_MODEL)

Newsletter & Email Marketing (enable_newsletter: bool = True)

# ✅ Complete email marketing system enable_newsletter: bool = True # Automatically provides: # - Newsletter campaigns # - Subscriber management # - Email tracking (opens, clicks) # - Analytics dashboard # - Beautiful HTML templates # - API endpoints

Lead Management & CRM (enable_leads: bool = True)

# ✅ Full CRM system enable_leads: bool = True # Automatically provides: # - Lead capture forms # - Lead scoring # - Source tracking # - Status management # - Email notifications # - CRM integration ready

Multi-Site Cloudflare Maintenance (enable_maintenance: bool = True)

# ✅ Zero-config maintenance mode enable_maintenance: bool = True # Automatically provides: # - Multi-site management # - Cloudflare integration # - Automated monitoring # - Bulk operations # - CLI automation # - Health checks with auto-triggers

Time savings: 6+ months of development → 5 lines of config! 🎉


4. 🎨 Modern Admin Interface

Problem: Django admin stuck in 2010 design.

Solution: Beautiful Unfold admin with Tailwind CSS.

unfold: UnfoldConfig = UnfoldConfig( site_title="My Admin", theme="auto", # auto/light/dark )

Features:

  • Modern Tailwind design
  • Dark mode support
  • Real-time metrics on dashboard
  • Custom widgets and KPIs
  • Responsive mobile interface
  • Beautiful charts and graphs

5. 📊 Next.js Dashboard

Problem: Building executive dashboards takes weeks.

Solution: Modern Next.js dashboard with REST API backend.

# Automatic dashboard at /admin/ with built-in endpoints: # - /cfg/dashboard/api/statistics/ - User & app stats # - /cfg/dashboard/api/health/ - System health checks # - /cfg/dashboard/api/charts/ - Chart data # - /cfg/dashboard/api/commands/ - Django commands # Dashboard automatically displays: # - Real-time metrics # - System health # - Interactive charts # - Command execution

Displays:

  • 📈 User growth
  • 💰 Revenue metrics
  • 🎫 Support tickets
  • ⚡ System health
  • 📧 Newsletter stats
  • 🎯 Lead conversion

6. 🗄️ Smart Multi-Database Routing

Problem: Manual database routing is a nightmare.

Solution: Automatic routing based on app labels.

databases: dict[str, DatabaseConfig] = { "default": DatabaseConfig( engine="postgresql", name="main_db", ), "analytics": DatabaseConfig( name="analytics_db", routing_apps=["analytics", "reports"], # Auto-routes! ), "cache": DatabaseConfig( engine="redis", location="${REDIS_URL}", ) } # No manual .using() calls needed! report = Report.objects.create(...) # Automatically goes to analytics_db

7. 📚 Auto-Generated API Documentation

Problem: API documentation takes hours of manual setup.

Solution: OpenAPI/TypeScript clients generated automatically.

openapi_client: OpenAPIClientConfig = OpenAPIClientConfig( enabled=True, generate_package_files=True, generate_zod_schemas=True, generate_fetchers=True, generate_swr_hooks=True, api_prefix="api", output_dir="openapi", drf_title="My App API", drf_description="Complete API documentation", drf_version="1.0.0", groups=[ OpenAPIGroupConfig( name="profiles", apps=["apps.profiles"], title="Profiles API", description="User profiles management", version="1.0.0", ), OpenAPIGroupConfig( name="trading", apps=["apps.trading"], title="Trading API", description="Trading operations", version="1.0.0", ), ], )

Automatically provides:

  • Auto-generated TypeScript clients with Zod validation
  • Auto-generated Python clients
  • SWR hooks for React/Next.js
  • Type-safe fetchers with error handling
  • Group-based architecture for API organization

8. 🔄 Background Task Processing

Problem: Setting up Celery/RQ takes days.

Solution: Built-in ReArq integration.

from django_cfg.apps.tasks import task @task(queue="high", job_retry=3) async def process_document(document_id: str) -> dict: """Process document asynchronously.""" from asgiref.sync import sync_to_async document = await sync_to_async(Document.objects.get)(id=document_id) # Your processing logic return {"status": "completed"} # Queue task job = await process_document.delay(document_id="123") # CLI: rearq main:rearq worker --queues high

Features:

  • Zero configuration
  • Redis broker auto-configured
  • Worker management built-in
  • Task monitoring commands
  • Docker ready
  • Production tested
  • Async-first design

9. 🌐 Webhook Testing with Ngrok

Problem: Testing webhooks requires manual ngrok setup.

Solution: Built-in ngrok integration.

# config.py ngrok: NgrokConfig = NgrokConfig(enabled=True) # CLI: python manage.py runserver_ngrok # ✅ Ngrok tunnel ready: https://abc123.ngrok.io # ✅ ALLOWED_HOSTS updated automatically # ✅ Webhook URLs available everywhere
from django_cfg.modules.django_ngrok import get_webhook_url # Get webhook URL automatically webhook_url = get_webhook_url("/api/webhooks/stripe/") # "https://abc123.ngrok.io/api/webhooks/stripe/"

Perfect for:

  • 🎯 Stripe webhooks
  • 📱 Telegram bots
  • 💰 Payment integrations
  • 🔗 External API testing

10. 💱 Currency Conversion

Problem: Currency APIs require manual integration.

Solution: 14K+ currencies with multi-threading.

from django_cfg.modules.django_currency import convert_currency # Convert any currency pair amount_eur = convert_currency(100, "USD", "EUR") # Supports: Fiat, Crypto, Stocks, Commodities # Data sources: # - YFinance (stocks, forex, crypto) # - CoinGecko (14K+ cryptocurrencies) # - Multi-threaded parallel fetching

11. 🤝 Communication Modules

Problem: Integrating email, SMS, Telegram takes weeks.

Solution: Built-in modules ready to use.

Email (Django Email Service)

from django_cfg.modules.django_email import DjangoEmailService email = DjangoEmailService() email.send_simple( subject="Welcome!", body="Hello from Django-CFG", recipients=["[email protected]"] )

SMS & WhatsApp (Twilio)

from django_cfg.modules.django_twilio import DjangoTwilioService twilio = DjangoTwilioService() twilio.send_sms( to="+1234567890", message="Your OTP: 123456" )

Telegram (Bot Integration)

from django_cfg.modules.django_telegram import DjangoTelegramService telegram = DjangoTelegramService() telegram.send_message( chat_id="123456", text="System alert!" )

LLM (OpenAI/OpenRouter)

from django_cfg.modules.django_llm import LLMClient client = LLMClient(provider="openrouter") response = client.chat_completion([ {"role": "user", "content": "Translate to Spanish: Hello"} ])

Enterprise Comparison

FeatureTraditional DjangoDjango-CFG
🔒 Type Safety❌ Runtime errorsPydantic v2 validation
🎨 Admin Interface🟡 Basic 2010 UIModern Unfold + Tailwind
📊 Dashboard❌ Manual setupReal-time metrics & widgets
🗄️ Multi-Database🟡 Manual routingSmart auto-routing
📚 API Docs❌ Manual setupAuto-generated OpenAPI
🤖 AI Agents❌ Build from scratchBuilt-in framework
🎫 Support System❌ Weeks of workOne config line
👤 User Management🟡 Basic User modelOTP + SMS + Profiles
📧 Communication🟡 Basic emailEmail + SMS + Telegram
💱 Currency❌ Manual API14K+ currencies built-in
🔄 Background Tasks🟡 Manual CeleryBuilt-in ReArq
🌐 Webhook Testing🟡 Manual ngrokIntegrated ngrok
🚀 Production Deploy🟡 Manual configZero-config Docker
💡 IDE Support🟡 BasicFull IntelliSense
⏱️ Time to Production3-6 months30 seconds

Legend: ✅ Excellent | 🟡 Requires Work | ❌ Not Available


When to Use Django-CFG

Perfect For:

Enterprise Applications

  • Need type-safe configuration
  • Require AI automation
  • Multi-database architecture
  • Built-in support/CRM systems

SaaS Products

  • User management with OTP
  • Newsletter campaigns
  • Lead generation
  • Background task processing

Integration Projects

  • External API integrations
  • Webhook handling
  • Multi-channel communication
  • Currency conversion

Startups

  • Fast MVP launch (30 seconds!)
  • Enterprise features out-of-box
  • AI-powered workflows
  • Production-ready deployment

Not Suitable For:

  • Simple landing pages (overkill)
  • Pure microservices without admin (use FastAPI)
  • Legacy projects with rigid architecture

Real-World Time Savings

Implementation Time Comparison

FeatureTraditional DjangoDjango-CFGSavings
Support Ticket System2-3 weeks1 config line99% faster
OTP Authentication1 week1 config line99% faster
Multi-Database2-3 daysDatabaseConfig95% faster
Background Tasks2-3 daysBuilt-in95% faster
Modern Admin1-2 weeksOut of box99% faster
Next.js Admin2-3 weeks1 config line99% faster
API TypeScript Clients1 weekAuto-generated99% faster
Newsletter System2-3 weeks1 config line99% faster
Lead Management2-3 weeks1 config line99% faster
AI Agents3-4 weeksBuilt-in framework95% faster
Currency Conversion1 weekBuilt-in module99% faster

Total Time Savings: 3-6 months30 seconds! 🚀


Security & Compliance

Security Features

  • Type-safe configuration prevents injection attacks
  • Multi-factor authentication with OTP and SMS
  • Audit logging for all user actions
  • Rate limiting and DDoS protection
  • CSRF protection enabled by default
  • Secure headers and HTTPS enforcement

Compliance Standards

  • 🏢 SOC 2 Type II compatible architecture
  • 🔒 GDPR compliant user data handling
  • 🏥 HIPAA ready with encryption at rest
  • 💳 PCI DSS compatible payment processing
  • 📋 ISO 27001 security management alignment

Next Steps

For Beginners:

  1. Installation - Setup Django-CFG
  2. First Project - Create your first app
  3. Configuration - Understanding config system

For Experienced Developers:

  1. Architecture - System architecture
  2. AI Agents - Building intelligent workflows
  3. Production Deployment - Deploy to production

For Migration:

  1. Migration Guide - Migrating existing projects

Django-CFG: Because building enterprise applications should take seconds, not months. 🚀

TAGS: introduction, framework, enterprise, why-choose, ai-agents, built-in-apps DEPENDS_ON: [] USED_BY: [installation, first-project, configuration]