반응형
로그인/로그아웃
계정관리 위한 앱 설치
$ python manage.py startapp accounts
![](https://blog.kakaocdn.net/dn/zFsGN/btq1ztHjAwQ/w1Gkb39uKd4HVQJpKL3TQK/img.png)
로그인 기능 추가하기
![](https://blog.kakaocdn.net/dn/OdxP0/btq1yX9JpX6/kR0wU7K4QtCkeo1kpEgVkk/img.png)
![](https://blog.kakaocdn.net/dn/bJmqVe/btq1xmWuRm5/iQa2fJ64LVvCYf1ip4an9k/img.png)
![](https://blog.kakaocdn.net/dn/Lr5l9/btq1ztN430x/WKF94BNQokcaGkWKkdlCsk/img.png)
![](https://blog.kakaocdn.net/dn/dIEz4L/btq1xlQOiUF/w5V9WJOZp231GIP50kJUj0/img.png)
![](https://blog.kakaocdn.net/dn/DC5nm/btq1AFAuMUm/tCS3VzjxxehdyoP8LXrtFK/img.png)
![](https://blog.kakaocdn.net/dn/z0RmD/btq1uwFltKl/4tsW80MrYg8ygYqoCyKVzk/img.png)
![](https://blog.kakaocdn.net/dn/bV4B9O/btq1yEJjzT7/qEKx9ujfBnceklzEkXXFCk/img.png)
![](https://blog.kakaocdn.net/dn/byCFYm/btq1vhA9HpO/w3vKzfiWlVORUwvEHRsSk1/img.png)
![](https://blog.kakaocdn.net/dn/sruZr/btq1zsPe16X/H6zH7Tg5H7T10sIjV4oQtk/img.png)
※ POST 방식은 {% csrf_token %} 보안 설정이 무조건 되어있어야 한다.
![](https://blog.kakaocdn.net/dn/7gtKu/btq1C14ddT4/vcpp25iVaScp7P65S9X1Ck/img.png)
from django.shortcuts import render, redirect from django.contrib import auth # login,out을 위해 필수 def login(request) : # request == POST # Login if request.method == "POST" : username = request.POST["username"] password = request.POST["password"] user = auth.authenticate(request, username=username, password=password) # 실제 DB에 있는 회원이라면 로그인 진행 if user is not None : auth.login(request, user) return redirect('home') # 회원이 아니라면 else : return render(request, 'bad_login.html') # request == GET else : return render(request, 'login.html') # login html 띄우기
![](https://blog.kakaocdn.net/dn/CzgPX/btq1C1b4J6C/PgVm6huVZkAY214n5RuVKk/img.png)
로그아웃 기능 추가하기
![](https://blog.kakaocdn.net/dn/bcy2V4/btq1C2owujs/2d0WzNMkjUUs5nCzi2F4JK/img.png)
![](https://blog.kakaocdn.net/dn/bw1vW7/btq1zul2FGH/JJJDfZ40nkhukSwtftH0Qk/img.png)
![](https://blog.kakaocdn.net/dn/Ig6wq/btq1uvmcVVg/Umn0OrkmI86Kx94k6sZR8K/img.png)
def logout(request) : auth.logout(request) return redirect('home')
![](https://blog.kakaocdn.net/dn/cVKVpy/btq1yECIxTm/0gflmAiST1ioVKEdJKskzk/img.png)
![](https://blog.kakaocdn.net/dn/chb6CJ/btq1C1JV81E/M9BSXjWCYwc5ACtmdTkFYk/img.png)
![](https://blog.kakaocdn.net/dn/cvHwcE/btq1yZGBIak/L2svkhHQhXH8aH9cfIBqKK/img.png)
화면에 로그인 된 유저들을 띄워보자
![](https://blog.kakaocdn.net/dn/cfAlmW/btq1AGGoGwV/6lB4kEoSpltxbEKLuSbam1/img.png)
<!-- 현재 로그인한 유저라면 유저 네임 띄우기--> {% if user.is_authenticated %} <span class="mr-2 d-none d-lg-inline text-gray-600 small">{{user.username}}</span> {% else %} <span class="mr-2 d-none d-lg-inline text-gray-600 small">Login Plz</span> {% endif %} <img class="img-profile rounded-circle" src="{% static 'img/undraw_profile.svg' %}">
![](https://blog.kakaocdn.net/dn/baKu3l/btq1yEJv7pN/yif6iVC997nHnbQa8kwzCk/img.png)
반응형
'○ WEB > 21.02 CodeLion_Django Web' 카테고리의 다른 글
[장고 실전3] 7. 커뮤니티 : 회원가입 (0) | 2021.04.06 |
---|---|
[장고 실전3] 5. 커뮤니티 : 템플릿 가공 (0) | 2021.04.03 |
[장고 실전3] 3. 커뮤니티 : 댓글기능 구현 (0) | 2021.03.30 |
[장고 실전3] 2. 커뮤니티 : 디테일 페이지 (0) | 2021.03.27 |
[장고 실전3] 1. 커뮤니티 : 기초작업, 새글작성하기 (0) | 2021.03.24 |