목차

파이썬 웹 프로그래밍

장고에서 제공하는 제네릭 뷰는 다음과 같이 4가지로 분류할 수 있다.

4.5.5 클래스형 뷰에서 폼 처리

폼 처리 과정을 아래와 같이 3가지 경우로 구분

FormView 제네릭 뷰를 사용하면 FormView 클래스에 이미 정의되어 있기 때문에 클래스 내에 get(), post() 메소드 정의도 불필요하게 됩니다.

FormView 유의사항

4.6 로그 남기기

4.6.1 로거

파이썬의 로그 레벨

4.6.2 핸들러

핸들러는 로거에 있는 메시지에 무슨 작업을 할지 결정하는 엔진입니다. 즉, 메시지를 화면이나 파일 또는 네트워크 소켓 등 어디에 기록할 것인지와 같은 로그 동작을 정의합니다.

4.6.5 로거 사용 및 로거 이름 계층화

snippet.python
import logging
# 로거 이름으로 계층화
logger = logging.getLogger('project.interesting.stuff')

로거 객체는 각 로그 레벨별로 로깅 호출 메소드를 가지고 있다.

이외에 두 가지 로깅 메소드가 추가로 가능

로깅 설정 예시

snippet.python
LOGGING = {
 
}

5.1.3 애플리케이션 - Model 코딩하기

모델 작업은 다음과 같은 순서대로 진행

snippet.shell
vi settings.py
vi models.py
vi admin.py
python manage.py makemigrations
python manage.py migrate
python manage.py runserver

5.1.5 애플리케이션 - Template 코딩하기

5.1.6 애플리케이션 - Template 상속 기능 추가

basebase_booksxxx_detailhtmlhtmlhtml

{% load static %} 템플릿 태그는 static이라는 사용자 정의 태그를 로딩해주고, 그 다음에 {% static %} 사용자 정의 태그를 통해 admin/css/base.css 스타일시트 파일을 찾게 됩니다.

base_books.html 템플릿 파일을 아래와 같이 작성

snippet.html
{% extends "base.html" %}
 
<title>{% block title%}Books Application Site{% endblock%}</title>
 
{% block sidebar%}
{{ block.super }}
<ul>
	<li><a href="/books/">Books_Home</a></li>
</ul>
{% endblock %}

장고의 설계 원칙

일반 사항

모델

데이터베이스 API

URL 설계

템플릿 시스템

캐시 시스템

APPENDIX


관련 문서