(중요) 21.11.10 Flask 마지막 강의 2 자유게시판 만들기(로그인 로그아웃 권한 설명)

2021. 11. 12. 17:40작업/Flask

자유 게시판

프로젝트 구조

 - DB 구성 : Post (id,created_at, author,content) User (인덱스id, id, pw)

 - 화면 만들기 : jinja template 활용 -> {% extends 'base.html' %} {% block my_style %} {% endblock %} 활용

  - base.html : 상단바, 메뉴, 스크립트, 스타일

  - login, join.html : 로그인/회원가입

  - 글 읽기 쓰기 수정 

 - 기능1 : 로그인, 로그아웃, 회원가입 .. 비밀번호는 bcrypt라는 걸 사용해서 암호화 함.  

  기능2 : 글작성/삭제/수정

  기능3 : 권한에 맞는 버튼 노출

 

실습 2 화면 구조

 

실습 3 발전된 화면 만들기

세션: 쿠키를 기반으로 하지만 서버측에서 관리하는 데이터

클라이언트에 고유 ID를 부여하고 클라이언트에 알맞은 서비스를 제공한다.

서버에서 관리하기 때문에 보안이 쿠키보다 우수하다.

실습 5 회원가입 join.html

 

실습 6 로그인/로그아웃

 

로그인은 데이터베이스의 정보와 입력받은 정보를 비교한 후, 일치한다면 session에 사용자를 식별할 수 있는 정보를 넣어 주는 과정을 말합니다.

로그아웃은 저장되어있던 session 정보를 없애주는 기능을 말합니다.

api.py

 

 

실습 7

flask 가 제공하는 g모듈 - 현재 로그인 한 사용자의 model을 알려준다.

index.html 의 글 post delete update 하는 ajax 부분

실습 8 글 수정/삭제

로그인

글 수정 삭제 ( 유의점: User.id 는 로그인 할 때 쓰는 인덱스고, User.user_id가 로그인 할 떄 쓰는 사용자아이디,
Post.author는 글 작성자고 Post.id는 글의 인덱스. )

로그아웃하고 삭제하려고 하면 안된다.

실습 9 권한에 맞게 화면 노출 다르게 하기

회원가입이나 로그인은 로그인 안된 사람한테만 필요한 기능..

index.html