Guide to Building a Django Web App, Lessons from a Non-Coder.

Learning to code is fun. Well, I think it is. There is something quite satisfying in building something on your own and seeing it come to life. When I started EataCity I researched a lot of ‘getting started’ resources for how to build a Django app. To help other people wanting to learn Django and Python I’ve written a quick this quick start guide. These are the sites I found most useful. If you follow these you’ll be able to build a pretty good Django web app from scratch, have some basic Python skills, and get an understanding of what’s possible with Django/Python add-ons.

Python

  • Learn Python the Hard Way.  For the most part, the Django resources I’ve listed below cover all of the Python you need to know, but it’s good to start with some basic understanding of Python, especially if you’ve never coded before. This book is a quick way to learn the basics of Python, and don’t be put off of the title - it’s not that hard. Some learning to code sites, especially the ones with online videos where you code through a browser, are like coding with training wheels on. The Hard Way removes the training wheels and makes you a better and more confident coder faster.

Django

  • Django for Girls (The basics). This is probably the fastest way to start with Django. Super easy to understand tutorial (for girls and boys). They’re also a great organization teaching girls to code, so if you do use it consider donating a few dollars to the cause. This will have you build and deploy a basic website in about two hours...that’s FAST!

  • Marina Mele's Taskbuster Django Tutorial. Once you have a basic web app up and running Marina’s tutorial takes you one step further, gets a bit more into the details, and provides a real world example of an app to build.

  • Two Scoops of Django. This covers more advanced topics, written by a couple of Django pros. You can get by with the Django for Girls tutorial, but if you want more flexibility and to make the most of Django, then this is the book to have.

HTML/CSS/SQL/JavaScript

  • W3Schools. Django is just a framework; once you have the basic app up and running you’ll need to fill it with stuff to turn it into an actual website. At a minimum, you’ll need to know HTML, CSS, SQL and some JavaScript. The place on the web for all of this is W3. It might sound daunting to have to learn all of this, but the tutorials are straightforward and you only need to know some basics to get started, then you’ll be up and running in no time.

After Deployment

  • Pony Checkup. Once you’ve built your app you’ll want to check it’s secure. Pony Checkup is a easy way to see how secure your app is. This is more of concern if your website is asking for user data and using forms etc…

  • Stackoverflow. This is the best Q&A site for developers. If you’re just starting out with Django and Python, and can’t find the answer here, then you’re probably doing something fundamentally wrong. At times I relied on Stackoverflow too much, using it as a crutch rather than learning and fixing problems on my own. So before you google “stackoverflow [your problem]”, spend at least an hour trying to solve it on your own, and it’ll make you a better coder in the long run.

  • The real power of both Python and Django is the massive community of developers contributing open source software packages. You’re going to be standing on the shoulders of giants here. I’ve lost count of the packages I’ve tried out. Some were invaluable to EataCity, others...less so. For a list of Python packages refer to Python Package Index . For example, I use Andablog for blogging in EataCity.

  • Google Analytics. You’re going to want to know who’s using your site and how. GA is the easiest, fastest and cheapest way to set up website analytics. 

Congratulations! You’ve now built your first Django web app. Contact me if you have any questions or you want to add to this list.

 Good luck!