#100DaysOfWeb in Python Transcripts
Chapter: Days 53-56: Django part 2 - registration and login
Lecture: Setting required django-registration templates
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
Last video we ended with the template does not exist exception and to make this simpler I'm going to provide you with a set of templates
0:10
that you can just put into place. Here in the general registration documentation quick start guide it's actually mentioned that
0:22
you will need to create several templates and possibly additional templates required by views in django.contrib.auth.
0:30
So as we know by now Django comes with its own authentication system. So if we're going to use the log in and log out
0:38
we're actually using the contrib.auth. And the registration plugin you can see has a shell round it to handle the sign up of users.
0:47
So there are two systems at play. And before both were using the registration directory and now the latter has changed to use django_registration.
0:57
And here it outlines all the templates you will need and I was a bit surprised that no defaults were provided.
1:06
You kind of have to build those from scratch and that's why I'm providing a zip file with all the right stuff in place.
1:14
Two things about that, I kept it pretty generic so I'm not mentioning quotes. So you can use it for your own app.
1:20
And secondly I did endorse write stylings. So there's some MUI classes in there. So styles nice but the MUI CSS framework
1:29
that we're using throughout this app. So let's get the zip file into place. So here at your hundred days of web with Python course repo...
1:40
in days in the 053 directory there's a zip file. And you have to copy that into the templates folder into the mysite templates folder.
1:57
So I'm going to take note of this path and back to my app I go into my main app, into templates. And we should have the base.html file
2:11
from the first Django module. And I'm going to copy the zip file into this directory, so again I'm in mysite/templates, going to unzip it
2:27
and you see that it nicely puts everything into place. I even have a README, with the instructions. So we did this, we unzipped it, and now we can
2:40
remove the zip and this README file. And here is a tree and this tree should match what I'm getting. So let's remove the README
2:52
let's remove the zip file. And let's do a tree, and yes I got two directories and 18 files. It's important to have the base.html
3:02
at the top level templates directory. And then have two directories Django registration with all the required
3:11
registration templates. And these should match the ones listed here. Actually, I was struggling here because some of these templates were renamed
3:23
going from 2.0 to 3.0. So these are templates that work with Django registration 3.0 and the registration directory is for the actions related to
3:36
Django's native authentication system. So log in log out and we will see password reset in action later. So with this in place
3:46
let's see if it all still works. And see if I can now navigate to these templates And that's awesome I can. On this log in screen, there's also
4:03
a reset password functionality. And of course the register action which nicely routes to accounts/register
4:13
and not getting template does not exist exceptions any more means that all the correct templates are in place. In order to demo this
4:20
I need email working because signing up will trigger an email to the email address that's filled out here. So now it's time to
4:28
set up an account with SendGrid, which is an email delivery service. And then we put in the right configuration in Django
4:36
and then we got email out of the box. So let's do that next.