web programming information
Static Web Application (정적인 웹)
컴퓨터에 저장된 파일을 그대로 사용자에게 전달하는 웹 페이지
모든 상황에서 모든 사용자에게 동일한 정보를 표시 ex) HTML 페이지
Dynamic Web Application (동적인 웹)
저장된 내용을 다른 변수로 가공 처리하여 사용자에게 전달하는 웹 페이지
상황에 따라 다른 정보를 표시
서버사이드 동적 페이지(server-side dynamic web page)라고 하며 애플리케이션 서버에 의해 통제
웹 어플리케이션 기본 구조
웹브라우저 <-> 웹서버 <-> 데이터베이스 서버
Django 기본 구조
Seperation of concerns (responsibility)
MVC 패턴
Model
- DB 연동
View
- 화면(UI)
Controller
- model과 view의 중재자, 로직 포함
ex) Sping MVC 프레임워크 (Java에서)
ex) Ruby on Rails
MTV 패턴
Model
- DB 연동Template
- 화면(UI)View
- 중재자, 로직 포함파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크
설치
pip install django
Urlresolver
MVC
MTV
MTV 코딩 순서
settings.py
데이터베이스 설정
템플릿 항목 설정
정적 파일 항목 설정
애플리케이션 등록
타임존 지정
models.py
테이블을 정의하는 파일
ORM (Object Relation Mapping) 사용
테이블을 클래스, 테이블의 컬럼은 클래스 변수로 매핑
models.py에서 DB 변경 사항 발생 시, 실제 DB에서도 반영
django 1.7부터 마이그레이션 기능 사용
URLconf 주요사항
URL과 View (함수 또는 메소드) 를 매핑하는 urls.py 파일
프로젝트 URL과 앱 URL로 구성하는 것을 추천
{% url %} 템플릿 태그 사용
views.py
뷰 로직을 생성하는 파일
함수(Function-based view) 또는 클래스(Class-based view)로 생성 가능
templates