"1. 장고 개요"의 두 판 사이의 차이
(→개요) |
(→개요) |
||
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | 웹페이지 작성을 위한 파이썬 프레임워크. | + | 웹페이지 작성을 위한 파이썬 프레임워크. 백엔드를 담당한다. |
파이썬 유저에게 있어 결과물을 손쉽게 보여주거나 공유하는 도구가 되기도 해, 기본적인 사용법은 알고 있어야 한다. | 파이썬 유저에게 있어 결과물을 손쉽게 보여주거나 공유하는 도구가 되기도 해, 기본적인 사용법은 알고 있어야 한다. |
2021년 5월 31일 (월) 15:04 기준 최신판
1 개요[편집 | 원본 편집]
웹페이지 작성을 위한 파이썬 프레임워크. 백엔드를 담당한다.
파이썬 유저에게 있어 결과물을 손쉽게 보여주거나 공유하는 도구가 되기도 해, 기본적인 사용법은 알고 있어야 한다.
풀스택프레임워크로 기본적인 기능이 다 들어와 있다.(필요치 않은 기능까지도.) 덕분에 빠르고 초보자도 여러가지 신경쓰지 않고 개발이 가능하다.
2 학습매체[편집 | 원본 편집]
뷰와 탬플릿, url을 동시에 고려해야 하는 등 다양한 개념들이 복합적으로 엮여 작용하기 때문에 순차적으로 익힌다 한들 종합하기 어렵다. 때문에 처음엔 강의로 기초개념을 잡은 후 서적과 블로깅을 권한다.
점프 투 장고 : https://wikidocs.net/book/4223
어차피 한 강의를 한 번에 소화하는 건 불가능한 일. 하지만, 일정 수준에 올라 다시 강의를 보는 것은 낭비.. 하여, 최대한 낭비가 없게끔, 초급자를 벗어나도 다시금 참고할 수 있는 매체를 만들어보고자 한다.
책이나 강의는 초~중급 수준밖에 없어 일정 레벨 이상으로 올라가지 못한다. 중급 이상으로 올라가려면 어찌해야 할까..(장고만으론 중급 이상 오르지 못할듯;)
3 개발방식[편집 | 원본 편집]
3.1 애플리케이션 기반[편집 | 원본 편집]
모듈화된 단위 프로그램을 애플리케이션이라고 한다. 한 번 개발하고 다른 프로젝트에서도 재사용할 수 있게 설계된 앱.
이 앱 안에 MVT가 들어있다.
3.2 MVT패턴. MVT 프레임워크(Model View Template)[편집 | 원본 편집]
Model은 DB에 저장되는 데이터, View는 실질적인 조작을 다루며, 데이터를 가공하여 모델과 템플릿을 연결한다. Template은 사용자에게 보여지는 UI.
3.2.1 간단설명[편집 | 원본 편집]
MVT | 역할 |
---|---|
Model | 데이터베이스에 엑세스.
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.) |
View | 데이터를 갖고 변형.(실질적인 파이썬 코드가 작용하는 부분) |
Template | 데이터를 사용자에게 보여준다.(HTML로 만든다.) 개발자가 작성한 html파일을 템플릿이라 한다. |
3.3 작동방식[편집 | 원본 편집]
- 웹클라이언트의 요청을 받으면 URL을 분석하여 처리를 담당할 뷰를 정한다.
- 뷰는 자신의 로직을 실행, DB처리가 필요하면 모델을 통해 처리 후 결과를 받는다.
- 기본적인 연산이 끝나면 템플릿을 불러와 클라이언트에 전송할 HTML을 생성, 보낸다.
순서 | 설명 |
---|---|
URL | urls.py에서 뷰를 매핑하는 함수를 작성한다. |
View | 요청을 받으면 데이터를 갖고 변형.(실질적인 파이썬 코드가 작용하는 부분)
미리 짜여진 탬플릿을 가져다 데이터를 배치하고 return 한다. |
Template | 데이터를 사용자에게 보여준다.(HTML로 만든다.) 개발자가 작성한 html파일을 템플릿이라 한다. |
Model | (부록)필요한 경우에 데이터베이스에 엑세스.
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.) |
4 웹페이지 설계[편집 | 원본 편집]
4.1 프로젝트 뼈대 만들기[편집 | 원본 편집]
- 디렉토리 파일 구성(애플리케이션 구조 설계)
- 회원가입기능, 게시판 기능, 결제기능 등을 어떻게 연결되게 할 것인가.
- 작동방식 설계
- 테이블 설계, 생성
- 슈퍼유저 생성