본문 바로가기

Web developer/Flask9

[Flask] 플라스크 어플리케이션 초기화 모든 플라스크 어플리케이션은 어플리케이션 인스턴스를 생성해야 하는데 다음과 같이 생성한다. from flask import Flask app = Flask(__name__) 라우트와 뷰 함수 클라이언트는 웹 서버에 request를 전송하며 플라스크 어플리케이션 인스턴스에 교대로 전송한다. 어플리케이션 인스턴스느 각 url 리퀘스트 실행을 위해 어떤 코드가 필요한지 알아야 하며, 따라서 url을 파이썬 함수에 매핑하는 기능이 필요하다. 플라스크 어플리케이션에서 라우트를 정의하는 가장 손쉬운 방법은 어플리케이션 인스턴스에서 app.route 데코레이터를 사용하는 것이다. 이것은 데코레이터 함수를 라우트로 등록한다. @app.route('/') def index(): return 'Hello World.. 2020. 12. 12.
[Flask] Form 이전 포스팅 참고 doongjun.tistory.com/18 [Flask] Jinja2 Template (2) 이전 포스팅doongjun.tistory.com/17 에서는 html파일에 단순히 진자 템플릿을 사용했다. 이번 포스팅에서는 웹사이트를 더욱 동적으로 만들어 줄 수 있도록 상속을 사용해 볼 것이다. 우선 templates폴더 doongjun.tistory.com 이 글에서는 이름과 이메일을 제출하고 구독할 수 있고 구독하면 구독자 목록을 확인할 수있는 페이지를 만들어 보려고 한다. 우선 app.py에 아래 코드를 추가해준다. @app.route('/subscribe') def subscribe(): title = "Subscribe To My Email Newsletter" return rend.. 2020. 10. 31.
[Flask] Jinja2 Template #2 이전 포스팅doongjun.tistory.com/17 에서는 html파일에 단순히 진자 템플릿을 사용했다. 이번 포스팅에서는 웹사이트를 더욱 동적으로 만들어 줄 수 있도록 상속을 사용해 볼 것이다. 우선 templates폴더 안에 base.html파일을 생성한 후 about.html과 index.html의 공통 코드 즉, head와 nav bar 등을 base.html파일에 복사-붙여넣기 하고 기존 파일에 있던 코드는 지워준다. {% extends 'base.html' %} 그리고 extends를 통해 index.html, about.html 파일에 적용해주면 base.html에 있는 코드를 상속받아 간편하게 사용할 수 있다. 굳이 이렇게 사용하는 이유는 2개의 파일을 경우 각각 고쳐주면 그게 더 편할지.. 2020. 10. 31.
[Flask] Jinja2 Template #1 이전 포스팅doongjun.tistory.com/16에서 만들었던 웹페이지에 Jinja2 템플릿을 추가해볼것이다. Jinja2는 Python 웹 프레임워크인 Flask에 내장되어 있는 Template 엔진이다. Jinja는 JSP의 문법이나 ES6의 template string과 비슷한 문법을 가지고 있다. Jinja 문법은 간단히 아래와 같다. {{ ... }} : 변수나 표현식 {% ... %} : if나 for같은 제어문 {# ... #} : 주석 Jinja의 자세한 문법은 https://jinja.palletsprojects.com/en/2.10.x/ 에서 살펴볼 수 있다. 이전 포스팅에서는 홈페이지 title이나 본문을 수정하려 할때 그 부분을 일일히 html파일을 수정해야 한다. 하지만 jin.. 2020. 10. 30.
[Flask] Bootstrap 이번 포스팅에서는 Bootstrap을 사용해보려 한다. 부트스트랩이란 프론트엔드 개발을 빠르고 쉽게 할 수 있는 프레임워크이며 HTML과 CSS 기반의 템플릿 양식, 버튼, 네비게이션 및 기타 페이지를 구성하는 요소이다. 자바스크립트를 선택적으로 확장 할 수 있고 상업적 이용이 가능하다. '프레임워크' 라고 하는 것은 재사용이 가능한 요소들의 집합되어 있으며, 정해진 구조와 틀 안에서 이것들이 확장이 가능한 기반 코드로 이루어 짐을 뜻한다. jquery는 라이브러리이고, 부트스트랩은 프레임워크다. 따라서, 우리는 '부트스트랩 프레임워크에서 jquery 라이브러리를 사용할 수 있다.'라고 말 할 수 있다. 간단한 웹페이지를 만들어 볼 건데, from flask import Flask, render_temp.. 2020. 10. 30.