과제

Flask (플라스크) 라이브러리

ilsancityboy 2023. 7. 15. 17:13

Flask (플라스크) 는 앞서 배웠던 random이나 datetime처럼 라이브러리 형태이다.

알아야 할 것은 Flask 는 웹 프레임워크로, 라이브러리 형태로 제공된다는 점이다.

웹 프레임워크? 

웹 프레임 워크는 웹 애플리케이션 개발을 위해 사용되는 소프트웨어 도구 모음이다.

웹 프레임 워크는 개발자들이 웹 애플리케이션을 더 쉽고 효율적으로 구축할 수 있도록 도와준다.

주로 다음과 같은 기능들을 제공한다.

 


● 라우팅(Routing)

라우팅은 URL 경로를 함수 또는 핸들러와 연결시켜주는 것.

즉 ,  클라이언트에게서 특정 URL 요청이 들어왔을때 해당 경로를 처리하는 기능

EX : http://0.0.0.0:8080/homepage

http://0.0.0.0:8080 / homepage 

/homepage 경로에 대한 요청을 처리하여 반환하여주는 것이 라우팅이다.

(보통은 홈페이지를 / 하나로만 지정해둠. 따라서 http://0.0.0.0:8080/ 이 대표적인 홈페이지이고

다른 경로가없이 / 만 있을때는 / 를 쓰지않아도 /에 대한 요청으로 받아들임. 

따라서 http://0.0.0.0:8080   =   http://0.0.0.0:8080/ )

 

http://0.0.0.0:8080 /login_page

여기선 login_page 경로에 대한 요청을 반환해줌.


 

● 템플릿 엔진 (Template Engine)

템플릿 엔진은 동적인 웹 페이즈를 생성하는데 도움을 주기 위한 기능이다.

HTML 과 프로그래밍 코드를 조합 할 수 있다.

 

템플릿 문법: 템플릿 엔진을 통해 사용하는 특정 문법을 사용하여 HTML과 프로그래밍 코드를 결합한 템플릿을 작성할 수 있다.

 

데이터 전달: 템플릿 엔진을 통해 웹 애플리케이션에서 생성한 데이터를 템플릿에 전달할 수 있다. 이를 통해 템플릿에서는 프로그래밍 코드를 사용하여 동적인 데이터를 출력하거나 조작할 수 있다. 예를 들어, 사용자 이름, 제품 목록, 게시물 내용 등과 같은 데이터를 템플릿에 전달하여 해당 데이터를 동적으로 표시할 수 있다.

 

코드 재사용: 템플릿 엔진을 사용하여 템플릿을 작성하면 HTML의 일부분을 재사용할 수 있다. 템플릿에서는 공통적인 부분을 정의하고, 이를 여러 곳에서 재사용할 수 있다.

 

에스케이프 처리: 템플릿 엔진은 사용자로부터 입력된 데이터를 안전하게 처리하기 위해 에스케이프(Escape) 기능을 제공한다. 에스케이프 기능을 사용하여 사용자 입력에 포함된 HTML 태그나 스크립트 코드와 같은 민감한 부분을 안전하게 이스케이핑하여 웹 페이지의 보안을 강화할 수 있다.

 


 

● 데이터베이스 연동 

데이터베이스와 연결을 쉽게 설정하고 데이터를 조회, 저장, 업데이트 하는 기능을 제공한다.

 

 


● 세션 관리

앞서 배웠던 내용에서 쿠키(cookie) 파트에 세션ID를 클라이언트에게 부여한다고 했다.

그리고 서버에도 따로 저장을 하며 클라이언트의 요청을 받고나서 세션ID가 맞는지 확인한다 했었다.

이러한 세션을 관리하고 사용자의 상태를 유지할 수 있는 기능을 제공한다.

 


● 보안 기능

웹 프레임워크는 보안 기능을 제공하여 애플리케이션을 보호하는 데 도움을 준다.

예를 들어, 사용자 인증, 암호화, CSRF(Cross-Site Request Forgery) 방지 등의 기능을 포함할 수 있다.

 


 

 

 

 

 

 

배운 점 

Flask ( 플라스크 ) 에 대해 배우면서 느낀점은

플라스크 하나만으로도 웹 페이지를 띄우고 사이트에서 구현되는 기능들을 거의 다 제공해준다는 것을 배웠다.

이로인해 플라스크 하나만 잘 써도 웹 사이트를 만들어 운영하는데 문제가 없을거라고 생각된다. (CSS같은 부분 제외)

 

'과제' 카테고리의 다른 글

HTML , JS , CSS  (0) 2023.09.06
플라스크 (Flask) 코드 해석  (1) 2023.07.31
2주차 과제 - 그누보드란?  (0) 2023.06.17
2주차 과제 - 드림 핵 가입하기  (0) 2023.06.17
2주차 - 파이썬 이해하기  (2) 2023.06.17