Building Great Web Backends with Django ( Python ) Premium class
- 1x (Normal)
Course Introduction and Roadmap1:31
Building a Hello Notes App - Part 113:06
Building a Hello Notes App - Part 214:56
Templates and Forms15:29
Building a Login Form for the Notes App18:59
Using the Django ORM and creating Models15:41
Django User Authentication11:42
Generating forms and saving data via ModelForms14:29
Introduction to ModelFormSets4:54
Updating and Deleting objects via ModelFormSets12:55
REST APIs in Django via TastyPie13:39
Django in Production, caching, scaling and other topics19:30
About This Class
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:
- Store data on a database
- Run CPU intensive tasks (such as face recognition)
- Provide a consistent API to read and write data
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:
- Setting up and Installing Django
- Interfacing with Databases using Django Models
- Writing basic Django templates
- Writing Django Forms
- Combining the above into a django app
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.
- Python - Need I say more? If you love Python, you will love Django
- Community - Django is supported by an excellent and supportive community. There are numerous Meetups as well as a Django Conference held every year
- Philosophy - Django is build around the design principles of Loose coupling, DRY, Less Code, Quick Development and Explicit is better than implicit. To learn more about this check out Django Design Philosophies
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:
- You love Python and want to develop web apps while using as much Python as you can
- You are trying to learn Django on your own but prefer to speed up the learning process
- You don't know much about web development but would like to start it right with Django
- You have been practicing web development but would like to learn to use a cool framework like Django to develop more rapidly
- You want to learn a new skill to market yourself better to compete for a job you would love to have
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!
Class Projects 19 See All
I am passionate about technology and enjoy programming in many different platforms and languages. Currently I lead a web development team on a Django and AngularJS stack. I have been developing software, managing software teams and mentoring and teaching software for several years now.
AngularJS is a revolutionary new way of developing single page apps. With my practical experience in AngularJS and related technologies I am at a unique place to teach this course. Especially because I have developed web apps with and without Angular and can compare with examples and explain what makes Angular not only important but the future of web app development.