
Introduction and Roadmap
Build a Django app that returns hello notes, enables login and a notes dashboard, and exposes a REST API using Django REST framework.
Learn to run the Django development server, configure a simple urls and view, and render a hello notes template with a username in context.
Learn to build reusable web pages with Django templates using inclusion and inheritance, plus loops, conditionals, filters, and custom tags, and create server-side validated forms and a login page.
Learn to generate and save notes using Django model forms, automatically setting the owner to the logged-in user, and secure the dashboard with login required.
What does a killer website, an amazing smartphone app and a futurustic plugin for Google Glass have in common?
A Back End
Without a back-end all you are left with is an empty skeleton of a UI. Among other things, a back-end let's you:
Django is a Python-based web framework that provides a vast amount of plumbing to build a web-backend so that you don't have to do it. This will allow you to focus on building more and better features into your application without worrying about infrastructure and plumbing.
Why this class?
This is a project based class and will take a practical approach towards learning Django. By the end of the class you will be comfortable with the following:
The final project will be writing a Personal Notes app. This app will expose you to many basic patterns which will be applicable to a wide variety of Django Apps.
Although this is a beginner class I plan to introduce a few advanced Django concepts in theory so as to give you an idea of the power of the Django framework.
This will also prepare you for job interviews that may ask you Django related questions.
Why Django?
Who should take this class
Anyone who wants to get started with web development and Django as well as get a peek into the more advanced features can take this class. Here are a few categories I can think of:
Whether you fit into one of the above categories or not, I encourage you to enroll for this class. Don't let a lack of experience with Python or web-frameworks discourage you. The class does not require a lot of experience with Python or web frameworks - a desire to learn will go a much longer way!