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 정보를 없애주는 기능을 말합니다.
실습 7
flask 가 제공하는 g모듈 - 현재 로그인 한 사용자의 model을 알려준다.
index.html 의 글 post delete update 하는 ajax 부분
실습 8 글 수정/삭제
로그인
글 수정 삭제 ( 유의점: User.id 는 로그인 할 때 쓰는 인덱스고, User.user_id가 로그인 할 떄 쓰는 사용자아이디,
Post.author는 글 작성자고 Post.id는 글의 인덱스. )
로그아웃하고 삭제하려고 하면 안된다.
실습 9 권한에 맞게 화면 노출 다르게 하기
회원가입이나 로그인은 로그인 안된 사람한테만 필요한 기능..
'작업 > Flask' 카테고리의 다른 글
21.11.10 Flask 마지막 강의 1 익명 게시판 구현 (0) | 2021.11.13 |
---|---|
21.11.07 7주차 모의테스트 (0) | 2021.11.07 |
21.11.05 7주차 2-3 REST API와 테스팅 (0) | 2021.11.06 |
21.11.05 7주차 2-1, 2-2 RDB로 리소스 관리 및 저장하기 & SQL Alchemy (0) | 2021.11.06 |
21.11.05 jinja와 flask 사용 배달의 토끼 필기 (0) | 2021.11.05 |