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.
Name of

Name of

Remote
Intermediate
PHP
Java
+1

Featured Partners

Related Articles

View all articles
DC
Daniel Cranney
Why developer experience matters
With technology embedded in almost every aspect of life, and with developers building and maintaining these tools, it’s ensuring that developers operate in the digital world with speed and efficiency, if we are to see these same benefits in the offli...
Why developer experience matters
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!
CH
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take part
Starting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
WeAreDevelopers LIVE days are changing - get ready to take part

From learning to earning

Jobs that call for the skills explored in this talk.

Python Engineer

Usersnap
Vienna, Austria

Intermediate
Python
Amazon Web Services (AWS)