Code Challenge 29 - Create a Simple Django App

Hi Pythonistas, a new week, a new 'bite' of Python coding! We are 2 weeks into learning Django (our second 100 Days project) so we thought it's about time to dedicate a code challenge to it. So this week is all about coding (and deploying) a Django app. Have fun!

The challenge

Basic

Data gets stored and queried using Django's ORM (which uses SQLite by default, but feel free to use another DB).

Separate content from presentation, however Django should enforce that as it follows the MVC pattern (or more correctly: the MTV pattern).

Don't be shy

Data can be added, edited and deleted (CRUD)

Die hard

Add a login. Note that Django comes with batteries included so you might be able to leverage the existing User model (from django.contrib.auth.models import User) - this article might be helpful.

If you want to go overboard, add a registration system: signup form + confirmation link validation email + password reset function. Simpleisbetterthancomplex.com has tutorials on this too. Or maybe you can leverage a plugin?

Getting ready

This doc also provides you with instructions how you can submit your code to our community branch via a Pull Request (PR). We will feature your PRs in our end-of-the-week challenge review (previous editions).

Feedback

If you have ideas for a future challenge or find any issues, open a GH Issue or reach out directly.

Last but not least: there is no best solution, only learning more and better Python. Good luck!