"1. 장고 개요"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 2개는 보이지 않습니다)
2번째 줄: 2번째 줄:
  
 
==개요==
 
==개요==
웹페이지 작성을 위한 파이썬 프레임워크.
+
웹페이지 작성을 위한 파이썬 프레임워크. 백엔드를 담당한다.
  
 
파이썬 유저에게 있어 결과물을 손쉽게 보여주거나 공유하는 도구가 되기도 해, 기본적인 사용법은 알고 있어야 한다.
 
파이썬 유저에게 있어 결과물을 손쉽게 보여주거나 공유하는 도구가 되기도 해, 기본적인 사용법은 알고 있어야 한다.
 +
 +
풀스택프레임워크로 기본적인 기능이 다 들어와 있다.(필요치 않은 기능까지도.) 덕분에 빠르고 초보자도 여러가지 신경쓰지 않고 개발이 가능하다.
 
==학습매체==
 
==학습매체==
 
뷰와 탬플릿, url을 동시에 고려해야 하는 등 다양한 개념들이 복합적으로 엮여 작용하기 때문에 순차적으로 익힌다 한들 종합하기 어렵다. 때문에 처음엔 강의로 기초개념을 잡은 후 서적과 블로깅을 권한다.
 
뷰와 탬플릿, url을 동시에 고려해야 하는 등 다양한 개념들이 복합적으로 엮여 작용하기 때문에 순차적으로 익힌다 한들 종합하기 어렵다. 때문에 처음엔 강의로 기초개념을 잡은 후 서적과 블로깅을 권한다.
27번째 줄: 29번째 줄:
 
===MVT패턴. MVT 프레임워크(Model View Template)===
 
===MVT패턴. MVT 프레임워크(Model View Template)===
 
Model은 DB에 저장되는 데이터, View는 실질적인 조작을 다루며, 데이터를 가공하여 모델과 템플릿을 연결한다. Template은 사용자에게 보여지는 UI.
 
Model은 DB에 저장되는 데이터, View는 실질적인 조작을 다루며, 데이터를 가공하여 모델과 템플릿을 연결한다. Template은 사용자에게 보여지는 UI.
 
1. 웹클라이언트의 요청을 받으면 URL을 분석하여 처리를 담당할 뷰를 정한다.
 
 
2. 뷰는 자신의 로직을 실행, DB처리가 필요하면 모델을 통해 처리 후 결과를 받는다.
 
 
3. 뷰의 처리가 끝나면 템플릿을 통해 클라이언트에 전송할 HTML을 생성, 보낸다.
 
  
 
====간단설명====
 
====간단설명====
52번째 줄: 48번째 줄:
  
 
== 작동방식 ==
 
== 작동방식 ==
 +
 +
# 웹클라이언트의 요청을 받으면 URL을 분석하여 처리를 담당할 뷰를 정한다.
 +
# 뷰는 자신의 로직을 실행, DB처리가 필요하면 모델을 통해 처리 후 결과를 받는다.
 +
# 기본적인 연산이 끝나면 템플릿을 불러와 클라이언트에 전송할 HTML을 생성, 보낸다.
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
!순서
 
!순서
70번째 줄: 71번째 줄:
 
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.)
 
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.)
 
|}
 
|}
 +
 
=웹페이지 설계=
 
=웹페이지 설계=
  

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 작동방식편집

  1. 웹클라이언트의 요청을 받으면 URL을 분석하여 처리를 담당할 뷰를 정한다.
  2. 뷰는 자신의 로직을 실행, DB처리가 필요하면 모델을 통해 처리 후 결과를 받는다.
  3. 기본적인 연산이 끝나면 템플릿을 불러와 클라이언트에 전송할 HTML을 생성, 보낸다.
순서 설명
URL urls.py에서 뷰를 매핑하는 함수를 작성한다.
View 요청을 받으면 데이터를 갖고 변형.(실질적인 파이썬 코드가 작용하는 부분)

미리 짜여진 탬플릿을 가져다 데이터를 배치하고 return 한다.

Template 데이터를 사용자에게 보여준다.(HTML로 만든다.) 개발자가 작성한 html파일을 템플릿이라 한다.
Model (부록)필요한 경우에 데이터베이스에 엑세스.

하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.)

4 웹페이지 설계편집

4.1 프로젝트 뼈대 만들기편집

  1. 디렉토리 파일 구성(애플리케이션 구조 설계)
    회원가입기능, 게시판 기능, 결제기능 등을 어떻게 연결되게 할 것인가.
  2. 작동방식 설계
  3. 테이블 설계, 생성
  4. 슈퍼유저 생성