Flask

  • Flask

    Flask – flask wtf

    CSRF 란? 참고 – [Web – CSRF와 XSS] flask-wtf 설치 FlaskForm CSRF 토큰 적용 CSRF 특정 블루프린트에서 제거처리 프로덕션 환경에서도, API 문서를 정상 테스트 처리해주기 위해선 IP ACL등을 정하는 듯 조치필요. CSRF 토큰 검증 CSRF방어가 필요한 요청(=쓰기/변경이 가능한 엔드포인트 및 메서드들) 마다 특정 토큰을 포함시켜서 요청하여, 서버에서 비교하는 방식 참고 자료 flask-wtf config

  • Flask

    Flask – SQLAlchemy 설치 및 사용법

    설치 및 설정 관련 패키지 설치 flask-migrate – Flask 웹 프레임워크에서 ORM을 사용할 수 있도록 해주는 모듈 pymysql – MySQL을 Python에서 사용할 수 있도록 해주는 모듈 초기 선언 및 설정 flask DB 관련 주요 Command 정리 (flask db –help) 및 관련 에러 명령 의미 branches 현재 브랜치의 지점을 보여줍니다 current 각 DB의 현재 형상을 보여줍니다 downgrade DB를 이전 버전으로 변경 upgrade DB를 최신 버전으로 변경 edit 형상 파일 수정 heads Show current available heads in the script directory history 변경내역 조회 init 새로운 마이그레이션 생성 list-templates List available templates merge 두 형상 파일 병합 migrate 형상 파일 자동 생성 revision 형상 파일 생성 show Show the revision denoted by the…

  • Flask

    Flask – 암호화 해시 (Cryptographic Hash)

    암호화 해시란? 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수로 암호화 해시는 매핑된 값으로부터 원래의 입력 값과의 관계를 찾기 어려운 성질을 가집니다. Flask에서 지원하는 암호화 해시 패키지는 대표적으로 아래와 같습니다. werkzeug bcrypt bcrypt 패키지 설치 bcrypt의 경우 werkzeug와 달리 별도의 패키지 설치가 필요합니다. generate_password_hash 복호화 데이터 암호화 진행 check_password_hash (암호화 데이터, 복호화 데이터) 두 대상의 일치 여부 return 값 – boolean 참고 자료 Flask – Bcrypt 암호화

  • Flask

    Flask – Request (Hook, Context)

    Request Hook Request Hook 이란? 통신을 주고 받을 때 API를 통해 요청 및 응답을 하게 됩니다.이 때 requset hook는 요청 단계의 생명 주기에서 각 단계별 처리를 할 수 있게 해줍니다. before_first_request 최초로 페이지 요청 전에만 실행 before_request 페이지 요청 전에 실행 after_request 페이지 요청 후에 실행 teardown_request 페이지 요청 종료시 실행 teardown_appcontext 페이지 어플리케이션 컨텍스트 제거시 실행 Request Context Request Context 란? request 시 관련 정보를 받는 용도 Application Context g (global) request 내에서만 값이 유효한 스레드 로컬 변수이므로 각 리퀘스트 내의 전역 변수 current_app 활성화된 어플리케이션을 위한 인스턴스 app인스턴스를 import하지 않고도, app의 config 정보를 조회 가능 참고 자료 Flask – 어플리케이션 컨텍스트 Flask – 리퀘스트 컨텍스트

  • Flask

    Flask – 기본 Command 및 Config 관련 정리

    run flask app 실행 관련 환경변수 FLASK_ENV=development or production – 환경 타입이며 development 환경이 autoloading이 가능 FLASK_APP=flask_application_name – 실행된 앱 혹은 위치 routes 앱에 생성된 라우터 조회 shell flask 인스턴스를 생성하여 커맨드 입력을 통한 확인 가능 Flask Config 관리 소스 Flask의 환경 설정을 용도별로 분리하여 사용하는 방식 __init__.py configs.py 참고 자료 Flask Config