- 로그인 세션을 유지해서 홈 화면에서 로그인한 유저의 이름을 000부분에 표시한다.
- signout 버튼을 눌렀을 때, 로그아웃하고 로그인 페이지로 이동, 이때는 /main/ url을 입력해도 로그인 페이지로 이동된다. (4번 글)
1. 이름표시
- 해당 부분은 header.html에 표시되는 내용이다.
- 이름이 OOO이라고 되어있으니까 OOO을 검색하면 어느 부분에 있는지 알 수 있다.
- views의 index함수에서 context로 session_user_name을 넘겨받았다.
- {{ session_user_nam }} 으로 바꿔준다.
# views.py
def index(request):
if request.session.get('user_name'):
print('------ user is here!!!-------', request.session['user_name'])
context = {
'session_user_name' : request.session['user_name'],
'session_user_id' : request.session['user_id']
}
return render(request, 'bbs/home.html', context )
return render(request, 'bbs/login.html')
2. 로그아웃 구현
- <a>태그 url 설정 -> urls 등록 -> views 함수 작성
- request.session에 등록되어 있는 사용자 정보를 초기화한다.
# header.html
<a href="../sign_out/" class="btn btn-default btn-flat">Sign out</a>
# urls.py
path('sign_out/', views.sign_out, name='sign_out'),
# views.py
def sign_out(request):
request.session['user_name'] = {}
request.session['user_id'] = {}
request.session.modified = True
return redirect('main')
'Study > django' 카테고리의 다른 글
django 기초 - bootstrap을 이용한 사이트 만들기 : 7. 글 목록, 게시글 확인 (0) | 2021.08.22 |
---|---|
django 기초 - bootstrap을 이용한 사이트 만들기 : 6. 게시판 글 등록 (0) | 2021.08.22 |
django 기초 - bootstrap을 이용한 사이트 만들기 : 4. 가입 페이지 (0) | 2021.08.19 |
django 기초 - bootstrap을 이용한 사이트 만들기 : 3. 로그인 페이지 만들기 (0) | 2021.08.19 |
django 기초 - bootstrap을 이용한 사이트 만들기 : 2. Models, Admin Page로 데이터 관리하기 (0) | 2021.08.19 |