DEVPREP CODEX · #05
Django Interview Questions
150 curated questions graded from Foundations (Easy) to Practical Patterns (Medium) and Internals & Architecture (Hard).
TOTAL QUESTIONS
150
THEORY QUESTIONS
150
IMPLEMENTATION FOLIOS
0
FREE QUESTIONS
5 / Level
Easy Level·50 Questions Total
Foundations & Core Concepts
Q1What is Django and what are its core design philosophies?
- A high-level Python web framework enabling rapid development of secure, maintainable sites.
- Core philosophies: batteries-included (ORM, auth, admin, forms shipped), DRY, explicit is better than implicit, loose coupling (apps are pluggable), security by default (CSRF/XSS/clickjacking protections on).
- Follows the MVT pattern (Model-View-Template) — Django's flavor of MVC where templates play the "view" role and views act as controllers.
Q2Explain the MVT architecture.
- Model: data layer — Python classes mapping to database tables (
models.Model), owning validation and relationships. - View: request/response logic — receives HttpRequest, queries models, returns HttpResponse (function-based or class-based).
- Template: presentation layer — HTML with Django Template Language (
{{ variable }},{% tag %}). Flow: URL dispatcher routes to view → view pulls data via models → renders template → response. Contrast with MVC: there is no separate controller; the framework's URLconf + view fill that role.
Q3What is the role of settings.py?
- Central configuration module:
INSTALLED_APPS, database backends (DATABASES), middleware order, templates config, static/media roots, auth validators, i18n/timezone. - Environment separation handled by reading env vars (
os.environ.get) or splitting modules (base/dev/prod). - Secrets never hardcoded — pulled from environment.
- Settings are import-once Python — anything can be configured programmatically, which enables dynamic overrides in tests (
override_settings).
Q4What are apps in Django?
- Self-contained modules doing one thing ("blog", "accounts") — each with models/views/admin/tests migrations.
- Registered via
INSTALLED_APPS; Django discovers models, signals, template tags automatically. - Design goal: reusable/pluggable — a well-built app can drop into other projects with minimal coupling.
- Rule of thumb: new feature area ⇒ new app, not a bigger monolithic app. Cross-app imports go through services or explicit imports, avoiding circular dependencies.
Q5What is manage.py used for?
- Project-specific CLI wrapper around
django-admin: runserver, migrate, makemigrations, shell, createsuperuser, test, collectstatic. - Sets
DJANGO_SETTINGS_MODULEso commands execute within your project context. - Custom commands: add
management/commands/mytask.pyinside an app → callable aspython manage.py mytask. Interview tip: mentioninspectdb(reverse-engineer models from legacy DB) as a lesser-known gem.
45 More Easy Questions Locked
Unlock the complete Django Easy question bank
Get instant access to all 50 questions, in-depth model answers, code sandboxes, and all 27+ technologies for a single one-time payment.
Unlock All — One-time payment · Lifetime access
Browse All Django Questions by Difficulty
Easy50 Questions
Core concepts, definitions, basic syntax, and first principles expected in round 1 screening.
VIEW FULL LIST
Medium50 Questions
Real-world mechanisms, state management, edge cases, performance trade-offs, and practical coding.
VIEW FULL LIST
Hard50 Questions
Deep runtime internals, memory models, distributed design, concurrency failure modes, and architectural decisions.
VIEW FULL LIST
INTERNAL LINKING & DEPENDENCIES