어쩌다보니 박준태가 또 조장이조 1차
python flask로 웹사이트 만들기
flask 웹사이트를 가정했을 때
브라우저에 렌더링된 프론트 엔드가 가장 먼저 보인다.
가장 기본적인 프론트 엔드 기술 중 HTML은 페이지의 각 요소를 표시한다.
웹 사이트에 보이는 텍스트가 이에 해당한다.
CSS는 각 요소에 스타일을 적용한다. 텍스트의 글꼴이나 색상 등
CSS, JavaScript, jQuery로 스타일과 구성 요소가 자동 생성되게 하는 부트스트랩을 사용할 수도 있다.
위의 내용으로는 대화형 페이지 보다는 정적 페이지를 만들 수 있다.
대화형 웹 사이트는
첫째, 사용자로부터 정보를 받는다.
둘째, 데이터베이스에서 정보를 검색한다.
셋째, 해당 데이터베이스에 정보를 생성, 업데이트하거나 삭제한다.
넷째, 첫 단계에서 사용자가 요청 또는 제공한 정보를 기반으로 관련 정보를 사용자에게 보여준다.
프론트엔드 사용자의 요청을 데이터베이스와 연결하는 정도의 대화형 페이지를 구축하려면 웹 프레임워크가 필요하다.
일반적인 웹 프레임워크의 개념은 웹 사이트에서 사용자 정보를 받아서 백엔드 데이터베이스에 연결한 다음 데이터베이스에 저장된 관련 정보를 다시 프론트 엔드로 보내서 사용자가 볼 수 있도록 하는 것이다.
Flask는 웹 프레임워크 중 하나로 Python 코드를 사용해 웹에 연결 할 수 있으며 사용이 매우 간단하다는 장점이 있다.
간단한 웹 사이트 상에서는 코드 몇 줄로 쉽게 Flask를 구동할 수 있다.
Flask는 사용이 쉽기 때문에 때로는 너무 단순하고 확장성이 없다는 평을 듣기도한다.
하지만 Flask를 확장할 수 있는 서드 파티 라이브러리가 많다고 한다.
Flask와 Python을 사용해 HTML 템플릿에 연결하고 정보를 검색, 편집 반환을 해볼것이다.
대부분 대형 웹 사이트가 처리하는 첫 단계는 사용자 정보를 받아들이는 것이다.
설문 조사를 위해 수집한 정보 이메일 주소나 비밀번호 또는 구글 검색창에 입력한 질문처럼 간단한 정보일 수 있다.
사용자가 양식 내부에 이런 정보를 입력하면 웹 사이트는 해당 정보를 검색한다.
Flask에 아주 잘 맞는 WTForms라는 라이브러리를 사용해 양식을 만들어 볼 것이다.
다음 단계는 데이터베이스와 통신하고 정보를 검색하는 것이다.
본 강의 과정에서는 SQLite라는 데이터베이스를 사용할 것이다.
python에 내장된 데이터베이스라서 추가 설치가 필요 없고 인기가 많다.
Flask는 HTML 템플릿을 렌더링하고 Jinja로 편집하며
데이터베이스 통신을 위해 사용하는 라이브러리는 SQLAlchemy이다.
Flask-SQLAlchemy를 강의에서는 사용한다.