DEV Community

Discussion on: First tango with Django? How did the plan go?

Collapse
 
bikramjeetsingh profile image
Bikramjeet Singh

This looks really good! If I may ask, what drove the decision to make your first project in Django? It is indeed extremely feature-rich and comes with a lot of useful stuff built-in, but it's definitely not known to be beginner-friendly. I imagine it must have been quite a steep learning curve!

Also, since you mentioned you're planning to add user account support next, you might be interested to know that Django comes with a fully-featured user authentication system inbuilt, which can be extended and customised. So you don't need to do the hard work of building the entire login/signup/authentication system from scratch. Check out AbstractUser and AbstractBaseUser.

Collapse
 
mattedwards profile image
Matt Edwards • Edited

Thank you for your comments. Yes it was a steep learning curve. As a Django beginner you have to get your head around a number of concepts that appear confusing at first but make sense in the end if you stick with it.

I had been playing around with Python for a few weeks/months and built a very basic, command line version of this app with data stored in text files in json format. I came across Eric Matthes' book 'Python Crash Course' which has somechapters dedicated to Django. Shortly after that I enroled in Harvard's CS50 course. The CS50 syllabus included Python and introduced Flask, another Python web framework. When it came time to choose a final project it made sense to turn my basic command line application into a web app and I decided on Django rather than Flask because I felt more comfortable using it after reading Eric Matthes book. It ended up being a lot more work that I anticipated though :-)

Thanks for the heads-up about user authentication. I will check out those modules.