일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- javascript
- 웹프로그래밍
- eclipse
- database
- spring
- 플라스크
- 파이썬
- db
- jQuery
- TIL
- 링크
- 이클립스
- Git
- 데이터베이스
- 에러
- 알고리즘
- java
- PYTHON
- mybatis
- sql
- 자바
- Oracle
- 백준
- 오라클
- 자바스크립트
- rdbms
- flask
- 스프링
- BOJ
- mysql
- Today
- Total
목록플라스크 (9)
기록과 정리의 공간
Flask로 게시판 만들기 - 6 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode 로그인한 유저만 글쓰기 가능하게 하기 글 수정 기능 추가하기 글 삭제 기능 추가하기 글 조회수 증가 시키기 1. 로그인한 유저만 글쓰기 가능하게 하기 이 포스트와 이어짐 글쓰기 버튼을 누르면 로그인한 사용자에 한하여 글쓰기 페이지로 이동하고, 로그인되어 있지 않다면 로그인 페이지로 이동하게 한다. 로그인이 성공하면, 로그인 전에 사용자가 요청했던 페이지로 이동시키도록 한다. 데코레이터 활용(with functools모듈) : 글쓰기 기능 뿐만 아니라 기타 기능 사용을 위해 유저에게 로그인을 요구하기 위해, 함수마다 로그..
Flask로 게시판 만들기 - 5 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode 로그인 기능 구현하기 (세션 활용) 1. 로그인 기능 구현하기 (세션 활용) ★ HTTP는 클-서간의 연결 상태를 계속 유지하지 않는 무상태(stateless) 프로토콜이다. 즉, 요청 간 사용자 데이터를 저장하는 수단을 제공하지 않는다. 따라서, 세션(은 기본적으로 하나의 요청 정보를 다른 요청에서 기억하게 해줌)을 활용하여 서버에서 클라이언트를 특정할 수 있도록한다. Flask - 세션(Sessions) 활용하기 : (공식 문서 링크) 현재 세션에 접근하기 위해서는 flask의 session객체(flask.sessi..
1. 메시지 플래싱(Message Flashing) 플래싱 시스템은 기본적으로 요청의 끝에 메시지를 기록하고 그 다음 요청에서만 그 메시지에 접근할 수 있게 한다. 보통은 플래싱을 처리하는 레이아웃 템플릿과 결합되어 사용된다. (참고 링크) 2. flask.flash() / flask.get_flashed_messages() (API문서 링크) 메세지를 flash 하기 위하여 flash() 메소드를 사용하고 메세지를 가져오기 위하여 템플릿에서 사용할 수 있는 get_flashed_messages() 메소드를 사용할 수 있다. (참고 링크) 예제 코드 메시지 플래싱 기능을 사용하기 위해서는 SECRET_KEY를 반드시 설정해줘야 한다. 파이썬코드에서 flash()에 원하는 메시지를 인자로 넘겨준다. tes..
Flask로 게시판 만들기 - 4 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode 검색 기능 구현하기 1. 검색 기능 구현하기 (전체 코드X, 일부 코드만 가져옴) list.html type이 button인 input엘리먼트를 클릭하면 search()함수가 호출된다. 이 함수는 id가 search와 keyword인 엘리먼트를 찾아 해당 엘리먼트 value 속성의 값을 각각 변수에 저장하고, 조건문을 통해 v_search값이 ""가 아닐 때, Window객체의 프로퍼티인 location객체와 Flask의 url_for함수를 통해 파이썬 코드에 작성된 board_list()함수를 실행시키는 url로 이동..
Flask로 게시판 만들기 - 3 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode jinja문법을 사용하여 게시물 번호 매기기 게시물 리스트 pagination(페이지네이션) 구현하기 1. jinja문법을 사용하여 게시물 번호 매기기 for문 블럭안에서 사용할 수 있는 특별한 variables 몇 가지 (링크) (링크 접속 후 컨트롤 + f 로 loop.index 검색 후 3번째 loop.index 부분에 정리되어있음) Variable Description loop.index 1부터 시작해서 현재 반복 횟수를 나타냄 loop.index0 0부터 시작 loop.length 전체 반복 횟수 나타냄 # 예..
1. flask.redirect() (공식 문서 링크) 호출 될 경우, 클라이언트를 대상 위치로 리디렉션하는 응답 오브젝트 (WSGI 애플리케이션)를 리턴한다. 첫 번째 인자로 location을 받는다. 이는 응답이 redirect해야하는 위치를 의미한다. 2. flask.url_for() (공식 문서 링크1), (공식 문서 링크2) 라우팅이 설정된 함수에 대한 URL을 얻어내기 위해 사용할 수 있다. 첫 번째 인자로 함수의 이름을 받고, 두 번째 부터는 URL 룰의 변수 부분에 대한 다수의 키워드를 인자로 받는다. 참고로 url_for()는 html파일에서 jinja문법을 통해 사용될 수 있다. ex> 내용 예를들어 '/view'이런식으로 직접 url을 쓰지 않고, url_for()를 사..
Flask로 게시판 만들기 - 2 (참고 강의 링크-인프런 강의) (공부 하며 기록이 필요한 부분들만 정리함) 개발 환경 : windows 10 / Python 3.8.1 / vscode MongoDB 연결하기 (flask_pymongo라이브러리 공식 문서 링크) 게시물 작성 시간 구하기 1. MongoDB 연결하기 #1 : flask_pymongo의 PyMongo import하기 #2 : ["MONGO_URI"]는 지정된 문자열이므로 바꾸면 안된다. PyMongo는 localhost의 27017 포트에서 실행 중인 MongoDB서버에 연결되고, 이 때 DB의 이름은 myweb2(사용자가 지정)이다. #3 : mongo라는 인스턴스로 #2에서 생성한 DB에 접근할 수 있게 된다. #4 : board라는 ..
(참고 링크)의 일부를 정리함 Flask의 기본 어플리케이션 Flask의 기본 어플리케이션은 다음과 같은 모습이다. 작성한 어플리케이션의 이름을 'flask.py'로 하지 않도록 주의한다. Flask와 자체 충돌이 나기 때문. #1 : Flask class를 import함 #2 : Flask class의 인스턴스를 생성. 인자로 모듈이나 패키지의 이름을 넣는다. ★인자로 모듈의 이름을 직접 넣지 않고, __name__으로 지정한 이유? : __name__은 현재 모듈(.py 파일)의 이름으로 정해지는데 해당 모듈이 시작점일 경우, __main__으로 변경되므로 이 부분을 해결하기 위해 __name__으로 지정 #3 : route() 데코레이터로 어떤 URL이 함수를 실행시키는지 알려준다. #4 : 함수는..