///
Search
📍

03.MVC &

MVC(플라스크에서는 직접적으로 지원은 안하지만 짚고 넘어갑니다.)

MVC패턴은 디자인패턴 중 하나입니다.
디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말합니다.
어떠한 앱을 만든다고 한다면..그 앱을 유지보수를 하고 또 다른이들과 공유를 하면서 만들어야 할 떄 좀 더 쉽고 깔끔하게 만들 수 있는 방법을 우리는 고안해야 됩니다. 만약 이러한 방법들을 명확히 하지 않는다면.. 우리는 클래스 함수들을 일일히 다 만들어야 하게 될 겁니다.
라이브러리나 프레임워크가 그에 따른 예입니다.
예를 들어 그냥 jQuery를 이용한다면 $('#lucid')로 DOM을 선택할 수 있는 것을 그냥 순수Javascript를 사용한다면 document.getElementsByid('lucid')로 길게 써가며 찾아야 하겠죠. 예를 들어 어떠한 data를 만들고 이 data를 수정할 로직을 짠다. 그리고 그 data를 보여주는 부분을 만들 때 이거 하나하나가 로직이 분리가 안되있고 한꺼번에 정의가 되어있다면? 나중에 유지보수하기가 힘들겁니다. 그걸 "돕기" 위해 디자인패턴이라는게 나오는 것이며 이렇듯 "좀 더 쉽고 편리하게" 사용할 수 있게 만든 특정한 방법들을 디자인 패턴이라고 합니다. 그 디자인 패턴이라는 것은 스트래티지 패턴, 옵저버 패턴 등등 정말 여러가지가 있고 그 중에 하나가 바로 MVC패턴입니다.

MVC란

MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다.
Model : DB랑 연결되는 부분
View : 클라이언트와 연결되는 부분
Controler : 접근 URL에 따라 비즈니스 로직이 수행되는 부분

flask sqlalchemy

설치 방법
(flask_test) (base) glory@Gloryui-MacBookPro flask % pip install flask_sqlalchemy Collecting flask_sqlalchemy Downloading Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl (17 kB) Collecting SQLAlchemy>=0.8.0 Downloading SQLAlchemy-1.4.13-cp39-cp39-macosx_10_14_x86_64.whl (1.5 MB) |████████████████████████████████| 1.5 MB 1.8 MB/s Requirement already satisfied: Flask>=0.10 in ./flask_test/lib/python3.9/site-packages (from flask_sqlalchemy) (1.1.2) Requirement already satisfied: Jinja2>=2.10.1 in ./flask_test/lib/python3.9/site-packages (from Flask>=0.10->flask_sqlalchemy) (2.11.3) Requirement already satisfied: click>=5.1 in ./flask_test/lib/python3.9/site-packages (from Flask>=0.10->flask_sqlalchemy) (7.1.2) Requirement already satisfied: Werkzeug>=0.15 in ./flask_test/lib/python3.9/site-packages (from Flask>=0.10->flask_sqlalchemy) (1.0.1) Requirement already satisfied: itsdangerous>=0.24 in ./flask_test/lib/python3.9/site-packages (from Flask>=0.10->flask_sqlalchemy) (1.1.0) Requirement already satisfied: MarkupSafe>=0.23 in ./flask_test/lib/python3.9/site-packages (from Jinja2>=2.10.1->Flask>=0.10->flask_sqlalchemy) (1.1.1) Collecting greenlet!=0.4.17 Downloading greenlet-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl (86 kB) |████████████████████████████████| 86 kB 4.4 MB/s Installing collected packages: greenlet, SQLAlchemy, flask-sqlalchemy Successfully installed SQLAlchemy-1.4.13 flask-sqlalchemy-2.5.1 greenlet-1.0.0 WARNING: You are using pip version 21.0.1; however, version 21.1.1 is available. You should consider upgrading via the '/Users/glory/Desktop/(GITHUB)/flask/flask_test/bin/python -m pip install --upgrade pip' command. (flask_test) (base) glory@Gloryui-MacBookPro flask %
Python
복사