Tutorial 1: Getting Started
In this Python Django Tutorial, we will be learning how to get started using the Django framework. We will install the necessary packages and get a basic application running in our browser.
Tutorial 2: Applications and Routes
In this Python Django Tutorial, we will be creating a blog application within our Django project. We will also learn how to create URL patterns that are handled by our application views.
Tutorial 3: Templates
In this Python Django Tutorial, we will be learning how to use templates to return more complex HTML to the browser. We’ll also see how we can pass variables to our templates as context.
Tutorial 4: Admin Page
In this Python Django Tutorial, we will be learning how to access the Django Admin Page for our application. The Administration Page is a great way to see what data is currently in our application, and also gives us a nice GUI for creating or modifying that data.
Tutorial 5: Database and Migrations
In this Python Django Tutorial, we will be creating database tables for our application using Django models. We will also see how we can use the Django ORM to query the database and filter through results.
Tutorial 6: User Registration
In this Python Django Tutorial, we will be learning how to use forms and validate user input by creating a user registration page. We will also learn how to install and use Crispy Form so that our forms match the modern style of our application.
Tutorial 7: Login and Logout System
In this Python Django Tutorial, we will be learning how to create an authentication system for our application so that users can login and logout. We are also going to see how we can restrict certain pages so that users must be logged-in in order to access the page.
Tutorial 8: User Profile and Picture
In this Python Django Tutorial, we will be creating a user profile that extends the built-in Django User model. We will then use this user profile to store profile pictures for each user. We will also be learning how to set the MEDIA_ROOT, MEDIA_URL, and also make our static files accessible through our URL patterns. Finally, we will create a receiver function for a Django signal that will make sure our profiles are created when a user first registers.
Tutorial 9: Update User Profile
In this Python Django Tutorial, we will be finishing our user profile page. The final page will allow users to update their information and also add a new profile picture. We will also learn how to resize this image when it is uploaded to save space on our web server.
Tutorial 10: Create, Update, and Delete Posts
In this Python Django Tutorial, we will be learning how to use class-based views in order to create, update, and delete posts. These class-based views are very convenient once we get used to using them properly.
Tutorial 11: Pagination
In this Python Django Tutorial, we will be learning how to use pagination so that we aren’t pulling down too many posts at once. We will also learn how to create a page for posts created by a specific user.
Tutorial 12: Email and Password Reset
In this Python Django Tutorial, we will be learning how we can use email to send a password reset link to a user so that the user can reset their password. Users will be able to fill out a form with their email and have a unique token sent to them, and if their token is verified then they will be able to create a new password.
Deploying Your Application (Option #1) – Deploy to a Linux Server
In this Python Django Tutorial, we will be learning how to deploy our application to a Linux Server from scratch using Linode. We will be covering the entire deployment of a Django application. This includes spinning up a new Linux Server and tightening its security with SSH keys and firewalls. Then we will install Apache and Mod_WSGI so that we can get our Django App running.
How to Use a Custom Domain Name for Our Application
In this Python Django Tutorial, we will be learning how to set up a custom domain name for our application. We will use NameCheap as our domain registrar and Linode to host our server.
How to enable HTTPS with a free SSL/TLS Certificate using Let’s Encrypt
In this Python Django Tutorial, we will be learning how to enable HTTPS on our web server with a free SSL/TLS certificate using a service called “Let’s Encrypt”. Let’s Encrypt is a Certificate Authority that lets anyone obtain, renew, and manage certificates for their site. They’re a non-profit and provide all of this for free, and it’s easy to get running on our server.
Tutorial 13: Using AWS S3 for File Uploads
In this Python Django Tutorial, we will be learning how to set up AWS S3 so that we can host our media files from that service instead of our local filesystem. AWS S3 is very affordable and will also allow our application to scale much more than if our files lived on our local filesystem.
Deploying Your Application (Option #2) – Deploy using Heroku
In this Python Django Tutorial, we will be learning how to deploy our application to Heroku. Heroku is a platform that abstracts away a lot of the low-level system administration and allows us to easily deploy, update, and rollback changes for our application