본문 바로가기

flask6

[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.
[Flask] 대규모 Application 구조 대규모 응용 프로그램의 폴더 구조는 아래와 같다. |-flasky |-app/ |-templates/ |-static/ |-main/ |-__init__.py |-errors.py |-forms.py |-views.py |-__init__.py |-email.py |-models.py |-migrations/ |-tests/ |-__init__.py |-test*.py |-venv/ |-requirements.txt |-config.py |-manage.py - 플라스크 어플리케이션은 일반적으로 app패키지 안에 존재한다. - migrations 폴더는 데이터베이스 마이그레이션 스크립트를 포함하고 있다. 여기서 데이터베이스 마이그레이션이란, 개별 SQL파일을 MySQL콘솔 등에서 직접 실행하지 않고, 프.. 2020. 10. 24.