Daniel Hepper

Is Django too Complicated?

That intimidating 120-line settings file is optional. See how Django can be as nimble as Flask, but with built-in security guardrails.

Is Django too Complicated?
#1about 2 minutes

Is a batteries-included framework too complicated

An introduction to the debate between large, feature-rich frameworks like Django and minimalist microframeworks for modern web development.

#2about 3 minutes

Why Django's 'Hello World' feels complicated

The initial setup for a simple Django application involves multiple commands and a large settings file, which can be intimidating compared to a microframework like Flask.

#3about 3 minutes

Comparing Django and Flask by lines of code

While Django has significantly more lines of code than Flask, the gap narrows when you account for the third-party libraries needed to replicate Django's built-in features.

#4about 4 minutes

Creating a minimal single-file Django application

It is possible to create a minimal, single-file Django application by only using the essential components for URL routing and request handling, similar to a microframework.

#5about 1 minute

Defending the large default Django settings file

Django's extensive default settings file provides sensible defaults and makes configurations explicit, guiding developers toward a standard setup for common web applications.

#6about 2 minutes

Frameworks as guardrails for security vulnerabilities

Django's built-in features, like default CSRF protection, act as important security guardrails that protect developers from vulnerabilities they may not even be aware of.

#7about 4 minutes

Reducing decision fatigue with an opinionated framework

Using an opinionated framework like Django reduces decision fatigue and maintenance overhead by providing a consistent, integrated stack, avoiding the complexity of managing multiple third-party libraries.

#8about 2 minutes

Using battle-tested solutions for common problems

Frameworks provide battle-tested solutions for common problems like password resets, preventing developers from dangerously reinventing the wheel for critical features.

#9about 2 minutes

Treating Django's features and docs like a library

Approach Django's vast documentation and feature set like a library by selectively using the components you need, rather than feeling obligated to learn everything at once.

#10about 2 minutes

The power of an even more opinionated framework

While Django is already opinionated, it could become even more powerful and simpler by making stronger choices, such as standardizing on a specific database or JavaScript integration.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.