Exploring Web Development: Python + Django

Exploring Web Development: Python + Django

The more I have learned about full-stack development with stacks like MERN, the more curious I have become about how other tech stacks compare, how they look, and how hard would it be for me to learn them now that I have a foundational understanding of full-stack development. So I decided to challenge myself over the next 6 weeks: to learn 3 new tech stacks and write a todo app with each one. After 2 weeks of learning the tech and writing the app I will log my experience here, give a brief overview of what I learned, and share my opinions on working with the technologies.

The first tech stack I chose is Django. I chose Django for 2 main reasons:

I already know a decent amount of python from my college projects
Python is one of the most popular languages right now and freshening up a bit on my Python knowledge seemed like a pretty good use of my time
Working with Django really showed me how much simpler python is compared to JavaScript and how little code is needed for the same things, which is both a blessing and a terrible curse. Excited to dive back into python with this project, I dove in head first.

Django Basics

Welcome to Django

Django is a python web-app framework that focuses on development speed. Their homepage says: “Django was designed to help developers take their applications from concept to completion as quickly as possible,” and I feel that they are definitely succeeding in that goal. Developing with Django felt incredibly straight-forward and it did not take much time at all for me to get from an empty directory to basic functionality.

Setting up the app

Django makes setting up your workspace super easy. Once you’re in your project directory run django-admin startproject todo-app to start a new project called todo-app. Django will make a new directory called todo-app with this file structure: