Level 1 is recommended for all to start with. If you'd like, you can continue on to Level 2 without implementing Custom auth after finishing level 1.
- Project Startup (prerequisite)
Create Custom Auth Model (optional)- Create Event Model
- Explore Django Admin
- Event Serializer, View and URLs
- Django Template and View for List View
Level 2 starts the same as Level 1 with the added best practice foundation of a custom auth model. However, you should be able to advance from Level 1, Part 6 to Level 2, Part 7 without the custom auth model.
- Project Startup (prerequisite)
- Create Custom Auth Model (optional)
- Create Event Model
- Explore Django Admin
- Event Serializer, View and URLs
- Django Template and View for List View
- Command Line Inspection of Model Objects vs Serialized Object
- Deploy to Heroku
- Django Template and View for Create and Delete with Crispy Forms
- Repeat Model, Serializer, View and URLs flow with Locations
- Have Python3 installed on your system
- Create a virtual environment with Django and Django Rest Framework installed
- Have a text editor (I recommend VS Code if you are in the market)
If you need help getting set up, I recommend you check out this useful book chapter. If you have a different virtual environment you like to use, feel free to install django and DRF however you prefer.
Level 1 and Level 2 have been completed on two different branches on git. To get the source code for this workshop, you can clone this repo: git clone https://github.com/micleners/django-workshop.git
You can begin by working off of master
, which sets up the project as found in the Prerequisites
and Section 1
below. You will still need to make sure to setup your virtual environment correctly.
Then, checkout the appropriate branch for the level you are working on:
git checkout level-1-no-custom-auth
git checkout level-2-custom-auth-and-deploy
You can reset the head back to a certain commit to help you figure out how to get unstuck if needed. Alternatively, you can check out the code on github where the tutorials are located: