분류 전체보기87 [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] Blueprint Flask를 이용해 어플리케이션을 만들 때 한 파일에서 객체를 app으로 선언하고 app.route 데코레이터로 매핑될 함수를 쉽게 지정한다. 그러나 app.route 데코레이터는 create_app()이 실행된 이후에만 존재할 수 있다. 그리고 app.route 데코레이터는 호출될 함수들을 파일 한 곳에서 관리해야 한다. 그렇게 되면 프로젝트의 규모가 커지고 호출될 함수가 많아질수록, 한 곳에서 함수 전부를 관리하기 어렵게 된다. Blueprint는 위와 같은 문제를 해결하기 위해 함수를 여러 곳으로 확장하고 분산시킬 수 있게 만든다. Blueprint의 간단한 예제로, 아래 main1.py의 파일을 두개로 분리하려고 한다. main1.py from flask import Flask app = Flas.. 2020. 10. 24. [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. 이전 1 ··· 12 13 14 15 16 17 18 다음