Django Authentication & User Management - Full Tutorial

  Рет қаралды 170,589

Tech With Tim

Tech With Tim

Күн бұрын

Welcome back to another video! In todays video I am going to be showing a Django tutorial on how to setup authentication for a Django website, like how to create new users, have them sign in and sign out of their accounts! I'll also talk to you about permissions and groups and how to assign specific permissions to users and restrict parts of the website to those users. Overall, this will give you an in-depth understanding of the Django permission system and grouping and allow you to do some advanced stuff for your own website! I hope you learn something and enjoy the video!
💻Thanks to Retool for sponsoring this video! Get started building interactive and visual dashboard for FREE: retool.com
Check out the Retool KZfaq channel! / retool
💻 ProgrammingExpert is the best platform to learn how to code and become a software engineer as fast as possible! Check it out here: programmingexpert.io/tim and use code "tim" for a discount!
📄 Resources 📄
Code In This Video: github.com/techwithtim/Django...
Django Auth Docs: docs.djangoproject.com/en/4.0...
Heroku Dashboard: dashboard.heroku.com/login
Bootstrap: getbootstrap.com/docs/5.1/get...
Django For Beginners: • Django For Beginners -...
Fix Pip (Windows): • How to Install Pygame ...
Fix Pip (Mac): • How to Install Pygame ...
⭐️ Timestamps ⭐️
00:00:00 | Video Overview
00:01:04 | Retool
00:02:16 | Project Demo
00:03:58 | Django Setup & Installation
00:11:22 | Writing HTML Templates
00:21:54 | Remote Postgres Database Setup
00:28:20 | Retool Dashboard Setup
00:33:18 | Django User Registration & Sign In
01:00:48 | Creating Posts
01:13:28 | Viewing Posts
01:18:09 | Deleting Posts
01:25:55 | Groups and User Permissions
01:58:34 | Banning Users
02:09:28 | User Stats and Dashboard
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
👕 Merchandise: teespring.com/stores/tech-wit...
📸 Instagram: / tech_with_tim
📱 Twitter: / techwithtimm
⭐ Discord: / discord
📝 LinkedIn: / tim-ruscica-82631b179
🌎 Website: techwithtim.net
📂 GitHub: github.com/techwithtim
🔊 Podcast: anchor.fm/tech-with-tim
🎬 My KZfaq Gear: www.techwithtim.net/gear/
💵 One-Time Donations: www.paypal.com/donate?hosted_...
💰 Patreon: / techwithtim
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
⭐️ Tags ⭐️
-Tech With Tim
-Django Authentication Tutorial
-User Management Tutorial
-What is Django
-Retool
⭐️ Hashtags ⭐️
#TechWithTim #Django #Authentication

Пікірлер: 106
@the_bird_is_the_word.
@the_bird_is_the_word. 2 жыл бұрын
You are just so perfect Tim. Words can't express how grateful I am
@tomasgorda
@tomasgorda 2 жыл бұрын
Nice video, thanx again. One thing i have to mention: in a lot of your tutorials you are using a lot of external addons or resources (heroku, linode, retool etc…), but when you developping an applications for company with some security rules, mostly you have no chance to use any of them. So better is to use your local resources. Next think is a lot of registrations around these public resources.
@zeroday6379
@zeroday6379 Жыл бұрын
You have saved me big time on figuring out important basics. Thanks man.
@rinoldaiman6441
@rinoldaiman6441 Жыл бұрын
Thanks a lot bro. I was not able to authenticate new user but after watching this video it took only 2 mins to solve my problem which I was facing for more than 3 hours.
@matt-xq1xv
@matt-xq1xv 2 жыл бұрын
dude your videos are so good. i learned so much from them. thank you for making this awesome content.
@sizu257
@sizu257 2 жыл бұрын
I just finished to watch your first django tutorial, and now I'm going to eat and digest this 1 xDDDD. It's incredible how much I've learned from you. You are a legend!
@TechWithTim
@TechWithTim 2 жыл бұрын
Hope you enjoy!
@sizu257
@sizu257 2 жыл бұрын
@@TechWithTim You, Bucky Roberts, Giraffe Code Academy, Code Beauty, Computer Science Crash Course, Ben Eater, and all the community out there, you are my heroes! But from all, you taught me the most. Python, MySql, Django, Speech Recognition, Pygame, Clients with Sockets, and many, many others. Because of you, I know how to build my humongous project, that hopefully's going to change the shape of the world. I thank you with all my might!
@maestr0_6
@maestr0_6 2 жыл бұрын
Tim I have a tip regarding what you showed :D If you are in an empty html file you can type one "!" and just press TAB! :D It will get you the same boilerplate html but faster. Keep up the great work!
@Vancha112
@Vancha112 2 жыл бұрын
We just started using django at work! Thanks :)
@TheNerdyPlayer
@TheNerdyPlayer 2 жыл бұрын
this is exactly what i was looking for :) love your videos
@kirollssabri4651
@kirollssabri4651 2 жыл бұрын
Awesome I really was searching for these kinda videos thanks so much ❤️
@alfabetony
@alfabetony 4 ай бұрын
loved that you used retool. working with the shell is hell to someone who doiesn't know much sql. Watching database changes via retool makes it seems so much nicer and sleek. The interface has changed since you made the video so i couldn't keep up with some of the retool stuff but i got the gist and will definitely look into using retool in the future.
@krzysztofwachowiak8547
@krzysztofwachowiak8547 Жыл бұрын
Thanks. In your guide, I found the answer on how to properly define permission checking in views.
@blazenetic
@blazenetic Жыл бұрын
Epic content mate! Fantastic stuff, you are a great teacher.
@usmanmonir5576
@usmanmonir5576 Жыл бұрын
Tutorial was awesome 👏 and have learnt a lot! One thing is while banning user the filter function was correct u just have to put .first() at the end as u did for the user, also for getting user u can simply use get function to be consistent. Thanks for such a great content!!!
@nikolaosioannou9668
@nikolaosioannou9668 Жыл бұрын
Hello Tim.Thank you for the cool tutorial. Helped a lot to understand the approach of permissions. Also, I have forked the project to propose a different way of removing the user from the groups, and to add a user to the group 'default' upon sign-up. Hope you find it useful and that I did not make the repo dirty. Take care and keep up with these sweet tutorials.
@murshid956
@murshid956 3 ай бұрын
Is this video applicable to the django rest framework?
@zeydtc
@zeydtc Жыл бұрын
This is really good. Thank you!
@gustavojuantorena
@gustavojuantorena 2 жыл бұрын
Awesome! This is really helpful!!
@roronoa_shady3269
@roronoa_shady3269 2 жыл бұрын
Hey, Tim. I have been watching you for several years and I really like your content, the way you explain and show new things to us is great. I have learned a lot from you, also modified some of your projects. Really liked that video. And I was hoping you could make a video about AI - translator.
@amirilifee
@amirilifee 2 жыл бұрын
let this comment be on the top)
@amirilifee
@amirilifee 2 жыл бұрын
You teach many things. Keep it up✊✊✊
@javalex561
@javalex561 6 ай бұрын
Tim, you are the GOAT, would you please make a new video about Django 2fa?
@anashoussaini3915
@anashoussaini3915 2 жыл бұрын
Thank you for the video, really well done. Although, I must say for Retool, I think it would be better to the admin panel by yourself. You will learn a lot by doing so. If someone is trying to build a web app with Django, it's impossible that they aren't programmers.
@armsjarbcgaming1591
@armsjarbcgaming1591 11 ай бұрын
agreed, nifty tool tho
@shahinhashemi5799
@shahinhashemi5799 10 ай бұрын
I assume it was done this way to plug Retool which is the sponsor
@feggi_
@feggi_ 2 жыл бұрын
Thanks for your suport for uploading these videos
@justme-dz1wy
@justme-dz1wy Жыл бұрын
Thank you Tim.🙏
@manu-gt9gr
@manu-gt9gr 2 жыл бұрын
nice video bro!
@littlepics2733
@littlepics2733 2 жыл бұрын
Seems to be a nice tutorial
@valera723
@valera723 Жыл бұрын
Hi thanks very much for this tutorial. Can you tell please what extensions do you use in the editor ?
@ComputerGeek1100
@ComputerGeek1100 2 жыл бұрын
Just wondering - what are you using for the syntax highlighting in the HTML templates? I’ve noticed that the default HTML intellisense in vscode doesn’t do that with the Django tags
@pravachanpatra4012
@pravachanpatra4012 2 жыл бұрын
LETS GOO!!! Tim finally making DJANGO tutorials. We need a social media clone next.
@sammy7762
@sammy7762 2 жыл бұрын
Yes
@borisbob
@borisbob 2 жыл бұрын
Thanks,very nice awesome content
@gramscihc7131
@gramscihc7131 Ай бұрын
Hey Tim, first you Rock, and second could you let me know what vscode extension you use for django templates, Thanks
@zeroday6379
@zeroday6379 2 жыл бұрын
Great content. I have tried to modify the signup page to incorporate things like phone number and country, however, these changes appears at the frontend and doesn't appear on the database, is there something I am not doing right?
@firosiam7786
@firosiam7786 2 жыл бұрын
Is any more go projects on the pipeline or was the api vedio last in that series
@kaosang6754
@kaosang6754 5 ай бұрын
how do you fix the logout one? when i go to the logout it displays a blank page
@truthdawn7773
@truthdawn7773 2 жыл бұрын
Great 👌💯
@gsmtechzambia3985
@gsmtechzambia3985 2 жыл бұрын
nice one @Tech with Tim. Can this be used with a REST or GraphQL API? Or do you have any tutorial you'd recommend for that?
@lordtejas9659
@lordtejas9659 2 жыл бұрын
Yes, You can use REST API with Django, not sure about GraphQL!
@aayushshrestha1210
@aayushshrestha1210 2 ай бұрын
if the /logout doesn't work add def LogOut(request): logout(request) return redirect("/login/") to your views and create a custom url at the top of the urls file path("logout/", views.LogOut, name="logout"),
@sidharthcs2110
@sidharthcs2110 4 ай бұрын
How does login and logout work if the APIs are called from something like postman ? what information is letting the system know which user is trying to logout ?
@myzel394
@myzel394 2 жыл бұрын
38:48 Just a small hint: Don't use links that only contain the word "here". People who can't see well often use screen readers, which most of them have the ability to list out all links from a site. If the links now just contain the word "here", the person won't know where they'll be going.
@armalite6837
@armalite6837 2 жыл бұрын
skill issue
@NeoShinkai
@NeoShinkai Жыл бұрын
@@armalite6837 no funny
@ahmedkhaldi2057
@ahmedkhaldi2057 11 ай бұрын
thanks
@rec-trick
@rec-trick 4 ай бұрын
awesome
@sammy7762
@sammy7762 2 жыл бұрын
Please make more advance project in django
@akangozan_kulbet
@akangozan_kulbet 18 күн бұрын
would you like to share us, what the specificly the django version above ?
@EDWIN-zg4yu
@EDWIN-zg4yu 4 ай бұрын
first off, what others tutorials do you have about Django? And second, could I modify the post part so that my admin users can upload Docker files instead of only text?
@pryme0
@pryme0 4 ай бұрын
when doing pip install crispy-forms ERROR: Could not find a version that satisfies the requirement crispy-forms (from versions: none) ERROR: No matching distribution found for crispy-forms
@juiceearthhh7225
@juiceearthhh7225 7 ай бұрын
do you have a django rest framework course
@tommasol.m.a.giambelli1643
@tommasol.m.a.giambelli1643 2 жыл бұрын
Hi Tim! Quick question: why do you need a specific sign-up url and not need a login url? Is it because you expanded the pre-built sign-up class?
@rakshanaravindran9809
@rakshanaravindran9809 2 жыл бұрын
I too have doubt??is it is a builin function
@k-kamori8842
@k-kamori8842 Жыл бұрын
Hello, I have encountered a UserCreationForm error. It says "cannot import name 'usercreationform' from partially initialized module". How do I fix this?
@TheIvanlisi
@TheIvanlisi 11 ай бұрын
Do you have logout option in the code?
@jessicam3256
@jessicam3256 Жыл бұрын
Thank you for this amazing video! But I was stuck at the retool dashoboard setup, after I entered "select * from pg_catalog.pg_tables", i got an error of "self signed certificate"... anyone knows how to solve it? @@
@Kappq
@Kappq 2 жыл бұрын
The fact that just today I was trying to setup user authentication with Django and this video comes up- please remove the hidden cameras from my house. 😭😂
@ohisideho3460
@ohisideho3460 2 ай бұрын
Heroku is not freen anymore. Any other services you suggest to follow along with the tutorial?
@ngnotchouetiam4851
@ngnotchouetiam4851 Жыл бұрын
Hey Tim, Its a great video thank you so much. Just got a little problem with the postgres database, heroku doesn't offer free tiers any more and I tried using Linode instead but I was unable to connect to my database and I finally gave up on using postgres. Could you make a video explaining how to setup postgres database on linode and connect it with django it would be so much of a help thanks 🙏🙏
@jonassonjp
@jonassonjp Жыл бұрын
I got the same problem here. It's not free anymore 😥
@besma702
@besma702 10 ай бұрын
Did you other solution??
@youssefelamrani7905
@youssefelamrani7905 2 жыл бұрын
what if I want to use a normal database? how would it be done?
@Prodigy10044
@Prodigy10044 2 жыл бұрын
Is this something we can put on our resume?
@timothydickinson7008
@timothydickinson7008 2 жыл бұрын
nice
@amitavasengupta5580
@amitavasengupta5580 6 ай бұрын
2:04 hrs why can't we import the Group and post_save globally?
@hassanmahmud7689
@hassanmahmud7689 2 жыл бұрын
how to solved thik pblm plz? Query ran successfully statusCode:404 error:"Not Found" message:"Unable to retrieve information about the query "query2"" data:null
@rakshanaravindran9809
@rakshanaravindran9809 2 жыл бұрын
Y don't you map login in url..is it is a built-in function in python
@nikkiho
@nikkiho 2 жыл бұрын
Do you have the beginning django?
@ZuRqi
@ZuRqi 2 жыл бұрын
Is this for beginners too?
@dennisdegraphicsdynamo_999
@dennisdegraphicsdynamo_999 5 ай бұрын
Hello @Tim I know this video is a year now....but please comment on this post. I wanna know how I will deploy my code since heroku is dead....no more free offers. Please tell me the best option to do. I need your reply as fast as possible please
@panomapet9441
@panomapet9441 2 жыл бұрын
Please make course on django-4
@ILCGyangcczmyiyan
@ILCGyangcczmyiyan 8 ай бұрын
what happens if I dont use crispy, I just type form.as_p
@shibmobileverse468
@shibmobileverse468 2 жыл бұрын
Can anyone else use the SSL? I had to disable it in Retool and skip certificates in order for it to connect. :( (Free Version of both Heroku + Retool)
@learnwithbasics6478
@learnwithbasics6478 9 ай бұрын
brother is saving me from C++ class to software engineering class. Just a little too fast.
@vaqowski6669
@vaqowski6669 9 ай бұрын
1:22:17 ( ͡° ͜ʖ ͡°) Anyway i have a little bit of constructive comments about the tutorial. I hope it would be helpfull in the future tutorials. First of all i think that sticking to the general programming good practises would be a great idea. For example if you are creating a template, a view, a model or a form let it handle just one thing. For example separte templates for navbar, creating post, ect. Or you are useing a lot of logic inside home view, i would separate the logic to the differrent functions - so it allows me to stick to the KISS and SOLID principles. But besides that great tutroial, You explained very solid how to use User model from django and also generic forms it gaves me a lot of understanding which i didnt have before watching, thanks.
@omoraltanim5795
@omoraltanim5795 5 ай бұрын
57:24 From Django 4.2 logout through GET is depreciated. Use this instead of link to logout {% if user.is_authenticated %} Logged in as {{ user.username }} | {% csrf_token %} Logout {% else %} Login {% endif %}
@kranfundefined
@kranfundefined 5 ай бұрын
You are almost right, we need to paste in action "{% url 'logout' %}" not 'admin:logout'
@TomStoutPhotography
@TomStoutPhotography 2 жыл бұрын
Couldn't get psycopg2 to install...wish. you weren't using heroku.
@motlatsimoea5615
@motlatsimoea5615 10 ай бұрын
So I tried to customize the "password_change" Auth by creating a template with the same name and for some reason it keeps sending me to that default template. Any idea why?
@vaqmad
@vaqmad 9 ай бұрын
Actually you need to point the other template, or ovevwrite the existing by creaating template with correct name of file
@hanstemple6038
@hanstemple6038 Жыл бұрын
This isn't fair. watching such an amazing video with 1.12million views and getting only 1.2k likes come on guys you can do better
@omarjones8481
@omarjones8481 6 ай бұрын
maybe because a lot of us can't finish being that Heroku isn't free and that stopped the viewing on a bad note
@unknownman5296
@unknownman5296 2 жыл бұрын
ayo tim
@genericbinary558
@genericbinary558 2 жыл бұрын
You are using re-tool and there django admin panel is like :|
@noajm4628
@noajm4628 4 ай бұрын
What do you mean*_
@BGOPC
@BGOPC Жыл бұрын
i don't want to disrespect but i guess i'm more expert in django CSRF token is a special type of web token used to authenticate it's a hidden input with special value which will be your auth key at the server
@jdchannelviewer
@jdchannelviewer Жыл бұрын
FYI: I don't think Heroku is free anymore.
@growlinghuel9766
@growlinghuel9766 Жыл бұрын
Worth pointing out. I've started a few different tutorials and stopped at the point when they tell us we'll require Heroku to complete the work.
@vinayakram5133
@vinayakram5133 2 жыл бұрын
Is this is for begineers..
@Vancha112
@Vancha112 2 жыл бұрын
Django itself is pretty beginner friendly, this specific tutorial is not really :(
@uclocnguyenvo422
@uclocnguyenvo422 Жыл бұрын
57:34 It is confused for me right here. How can the base.html know the variable user if we do not pass it from the view?
@kidjr.9520
@kidjr.9520 Жыл бұрын
Because of the request. that we are sending .When you are not logged in in your request will be shown as anonymous user whereas if you are logged in your user information will be passed with the request.
@13137713
@13137713 9 ай бұрын
Jenga 😅
@shans1308
@shans1308 10 ай бұрын
23:35
@matteobucci6517
@matteobucci6517 Жыл бұрын
The youtube algorithm wants short videos, I understand that. 'Short videos' means a lot of information in a very short amount of time. I'm already not a fan of that, but I really don't understand why you're going THAT fast in your video with so little explanation about what your doing. This is a 2 and a half hour video, it's a bloody TUTORIAL made for people who want to learn. This should have been a 5-hour-long video and if people aren't interested in one of the topics they can simply skip it. Learning in these conditions is just horrible and if I had a professor that was teaching that way, I'd never show up to the classes. I hope this was good criticism.
@yogeshshrestha1745
@yogeshshrestha1745 Жыл бұрын
Thankyou sir I got my answer you helped a lot
@soumenchattopadhyay9612
@soumenchattopadhyay9612 7 ай бұрын
for me LOGOUT_REDIRECT_URL = '/login' not working it says "Method Not Allowed": /logout/ .. I am in Chapter - Registration and Sign in
@melancholicsmile5575
@melancholicsmile5575 7 ай бұрын
Hi Tim I Modified The code to This for Banning user So it will auto remove from all groups elif request.POST.get('ban_user_id'): ban_user_id = request.POST.get('ban_user_id') user_id = User.objects.filter(id=ban_user_id).first() if user_id and request.user.is_staff: groups = user_id.groups.all() print(groups) if not groups : messages.info(request, f'User:{user_id.username} is already Banned') else: for group in groups: user_id.groups.remove(group) user_id.save() home.html add this right after {%block content%} {% if messages %} {% for message in messages %} alert('{{ message }}'); {% endfor %} {% endif %}
@jeromepouzoulet7823
@jeromepouzoulet7823 8 ай бұрын
Great Tutorial. You covert every aspects and you go to the point like a boss, well done. Thanks!!!
Learn Django in 20 Minutes!!
21:25
Tech With Tim
Рет қаралды 339 М.
Best KFC Homemade For My Son #cooking #shorts
00:58
BANKII
Рет қаралды 67 МЛН
ПРОВЕРИЛ АРБУЗЫ #shorts
00:34
Паша Осадчий
Рет қаралды 7 МЛН
Ouch.. 🤕
00:30
Celine & Michiel
Рет қаралды 14 МЛН
DAD LEFT HIS OLD SOCKS ON THE COUCH…😱😂
00:24
JULI_PROETO
Рет қаралды 16 МЛН
User registration and authentication in Django
58:35
Cloud With Django
Рет қаралды 29 М.
Please Master These 10 Python Functions…
22:17
Tech With Tim
Рет қаралды 107 М.
FastAPI, Flask or Django - Which Should You Use?
9:49
Tech With Tim
Рет қаралды 61 М.
10 Useful Python Modules You NEED to Know
11:01
Tech With Tim
Рет қаралды 32 М.
How I'd Learn Web Development (If I Could Start Over)
6:55
Dylan Cole
Рет қаралды 538 М.
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 823 М.
The Truth About Learning Python in 2024
13:05
Tech With Tim
Рет қаралды 41 М.
Best KFC Homemade For My Son #cooking #shorts
00:58
BANKII
Рет қаралды 67 МЛН