inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

MVC 패턴에 대해서 질문이 있습니다.

해결된 질문

329

이정이

작성한 질문수 4

0

우선 좋은 강의 해주셔서 감사합니다.

현재 React 와 Flask를 연동해서 개발할 목적으로 강의를 듣고 있습니다.

다름이 아니라 강의에서 진행한 View,Controller,Model에 대한 개념이 조금 헷갈려서 질문드립니다.

1. blog_view에 있는 blog.py는 Contoller역할을 하는 것인가요?

2. db_model은 단지 연결하는 목적이고, blog_control에 있는 user_mgmt가 Model의 역할인건지?

제가 생각했던 MVC 패턴의 형식과는 달라서 조금 혼란이 왔서 질문을 드립니다..!

rest-api python flask

답변 2

0

이정이

답변 감사합니다. 이해했습니다 :)

0

잔재미코딩 DaveLee

안녕하세요.

기본적으로는 flask 는 완전한 MVC 프레임워크는 아닙니다. 그래서 애매한 부분은 있는데, MVC 패턴을 보여드리기 위해서, 가급적 맞춰보려 한 부분이 있지만, 그렇다고 해서, 너무 억지스럽게 맞추는 것은 지양하는 것이 좋을 것 같아서, 관련 코드를 이와 같이 작성을 하였습니다.

- model 에서 데이터를 DB에서 가져오고 (DB 핸들링과 SQL 문들이 있겠죠)

- controller 에서 최종 html 코드에 넣을 데이터를 만들고, (다양한 분기문들이 있겠죠)

- view 에서 controller 에서 가져온 데이터를 붙여서 최종 html 코드를 제공하는 것이 맞을 텐데요. (여기서 최종 html 코드가 있겠죠)

코드가 워낙 간결하고, PHP 처럼 특정 코드 자체가 최종 html 코드가 아니다보니, 

- blow_view 에 있는 blog.py 에서 결과적으로는 render_template() 등으로 최종 코드를 제공하니, view 라고 보는 편이 맞고,

- blog_control 를 클래스 형태로 작성하다보니,  SQL 문을 db_model 쪽으로 또다시 함수로 빼는 것 자체는 너무 억지스럽고, 코드 유지보수나 복잡도 측면에서도 좋지 않아서요. 또 클래스 활용과 유용함에 대한 이해도도 떨어질 수 있어서요. 엄밀하게 말한다면 blog_control 이 Model + Controller 역할을 넣은셈이고, db_model 이 연결 부분의 일부 Model 기능을 가지고 있는 셈입니다.

MVC 패턴이 무엇인지 정도를 이해하고, 간결한 코드 상에서는 일부 겹칠 수도 있다 정도로 이해해주시면 좋을 것 같습니다.

감사합니다.

강의 자료 어디서 다운받나요? 없는데요..

0

150

1

강의 영상은 안나오고 소리만 나옵니다.

0

177

1

섹션 6 인증 failed 질문

0

153

1

섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의

0

358

3

192.168.0.12:8085??

0

155

1

04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.

0

171

1

수업내용 질문 건

0

186

1

brew로 mysql 설치 후 서버 실행할 때, 터미널에서 anaconda bin 참조하는 문제

0

663

2

crossorigin 프로퍼티에 대해서 질문드립니다.

0

288

1

강의자료 다운로드 문의드립니다.

1

267

1

갑자기 웹 서버 띄울때 이상하게 나옵니다

0

313

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)

0

345

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.

0

322

2

Fast api 추가 강좌 개설여부 질문드립니다!.

0

316

2

flask_cors설치 오류

0

618

2

부스트랩 html 다운

0

257

1

혹시 강의자료 공유가 가능한가요?

0

354

1

소스코드는 어디에 있을까요??

1

254

1

안녕하세요 몇가지 질문이 있습니다.

0

339

1

동적함수생성 질문드립니다.

1

631

2

(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의

0

576

1

백엔드 데코레이터 2 강의에 도전 문제 질문드립니다

0

289

1

몽고 DB 공식홈페이지 403 접속 에러 발생합니다.

1

624

3

04._flask_ABTest Pycharm 에서 실행오류

0

490

1