Archiet generates a complete Django application from your requirements. Every entity becomes a model, a DRF viewset, a serializer, a set of admin classes, and a test suite — all wired together and production-ready.
What the generated Django app contains
Project structure
{project}/
├── manage.py
├── config/
│ ├── settings/
│ │ ├── base.py # shared settings — reads from os.environ
│ │ ├── development.py # dev overrides
│ │ └── production.py # production settings
│ ├── urls.py # root URL conf
│ ├── wsgi.py # WSGI entry point
│ └── celery.py # Celery config (if async tasks in genome)
├── apps/
│ ├── users/ # custom User model, auth
│ │ ├── models.py # CustomUser, Role, Workspace, Invitation
│ │ ├── serializers.py
│ │ ├── views.py # auth endpoints
│ │ ├── urls.py
│ │ └── admin.py
│ └── {entity}/ # one app per entity in your PRD
│ ├── models.py # Django model + manager
│ ├── serializers.py # DRF serializer
│ ├── views.py # DRF viewset (ModelViewSet)
│ ├── urls.py # router registration
│ ├── permissions.py # IsWorkspaceMember, IsOwner
│ ├── filters.py # django-filter FilterSet
│ ├── admin.py # ModelAdmin with list display
│ └── tests/
│ ├── test_models.py
│ ├── test_views.py
│ └── test_serializers.py
└── requirements/
├── base.txt # pinned production deps
└── development.txt # + dev tools
Django ORM models and migrations
- Custom
AbstractUserbase — never patching Django's built-in user django-organizationsor custom Workspace/Tenant model- Manager with
get_queryset()scoped to workspace:Model.objects.filter(workspace=workspace) django-guardianor custom permission backend for object-level permissions- Every model:
created_at,updated_atauto fields;workspaceFK indexed - Every schema change:
python manage.py makemigrationsmigration committed in repo
Django REST Framework
DefaultRouterregistered in each app'surls.pyModelViewSetfor CRUD —ListModelMixin,CreateModelMixin, etc. split for read-only entitiespermission_classes = [IsAuthenticated, IsWorkspaceMember]on every viewsetfilterset_classfor filtering and search on list endpointsPageNumberPagination— consistentcount,next,previous,resultsresponse- Error format:
{"error": "snake_case_code", "message": "Human readable description."}
Authentication
djangorestframework-simplejwtwith JWT in httpOnly cookies- Custom
CookieJWTAuthenticationclass — reads token from cookie, not Authorization header - Login: validates credentials, sets access + refresh cookies, returns user profile
- Logout: blacklists refresh token, clears cookies
@permission_classes([IsAuthenticated])on every view that requires auth
Django Admin
ModelAdminfor every entity:list_display,search_fields,list_filter,readonly_fieldsInlineModelAdminfor related entities- Custom admin site with branding matching the product name
Tests
pytest-djangotest suiteAPIClientfixture for authenticated/unauthenticated request testing- Model tests: field validation, manager scoping, signal behavior
- View tests: CRUD operations, permission enforcement, pagination, filtering
- Multi-tenant isolation: request as workspace A member cannot see workspace B data
Celery + Redis (when async tasks in genome)
- Celery app in
config/celery.pywith task autodiscovery tasks.pyin each app for async jobsdjango-celery-beatfor periodic tasks- Result backend: Redis
Infrastructure
- Multi-stage Dockerfile
docker-compose.yml: Django + PostgreSQL + Redis + Nginx- Gunicorn with gevent workers for production
- GitHub Actions: flake8/ruff → pytest → build → deploy
Django vs Flask vs FastAPI — which to pick
Choose Django when:
- You want the most complete framework — admin, auth, ORM, forms, caching all included
- You need a working Django admin for internal tools from day one
- You're building a content-heavy or data-heavy app that needs the full ORM power
- Your team knows Django
Choose Flask when:
- You want explicit control over each component
- You're building a microservice or lightweight API
Choose FastAPI when:
- You need async performance and native OpenAPI docs
- You're building an API-first product
All three are generated by Archiet from the same requirements document.
vs cookiecutter-django and other Django starters
cookiecutter-django is the gold standard Django project template. It handles settings, Docker, Celery, coverage, and many common patterns — and it does it well. Its output is a shell you configure and fill.
Archiet generates the shell AND the product inside it: your models, your viewsets, your serializers, your admin, your tests — from your requirements. cookiecutter-django is where most Django projects start; Archiet is how you skip the next 6 weeks.
EU AI Act Annex IV (high-risk AI, deadline August 2026)
Building an AI system with EU market exposure? Start with the free EU AI Act risk classifier, then generate Annex IV technical documentation, risk tier assessment, and post-market monitoring plan from the same Django + Next.js blueprint that produces your app. Same genome → code + compliance artifacts.
- EU AI Act compliance use case
- Annex IV from architecture (GitHub)
- Stack example: Annex IV traceability in Django
- Compliance frameworks hub
CTA
Generate a complete Django + Next.js application from your requirements — free plan, no credit card.
Describe your product or upload a PRD, pick Django + Next.js, download a production-ready Django codebase in 90 seconds.
Start free at archiet.com.