Django21 [Django] 로그 남기기 장고의 로깅은 기본적으로 파이썬의 로깅 체계를 그대로 따르면서 일부만 추가되었다. 파이썬의 로깅 모듈을 보면 로거, 핸들러, 필터, 포맷터 4가지 주요 컴포넌트를 정의하고 있다. 또한, 장고의 runserver나 웹 서버에 의해 장고가 실행될 때 장고는 settings.py 파일에 정의된 LOGGING_CONFIG, LOGGING 항목을 참고하여 로깅에 관련도니 설정을 처리한다. settings.py 파일에 관련 항목이 없더라도 디폴트 로깅 설정으로 처리된다. 따라서 장고의 로깅은 실행되는 시점부터 작동하여 로그가 출력된다. 또는 적절한 로거만 획득하면 우리가 원하는 로그를 기록하 는것이 가능한 상태이다. 1. 로거 로거(Logger)는 로깅 시스템의 시작점으로, 로그 메시지를 처리하기 위해 메시지를 담.. 2022. 1. 21. [Django] 클래스형 뷰 뷰는 요청을 받아서 응답을 반환해주는 호출 가능한 객체이다. 장고에서는 뷰를 함수로도 작성할 수 있고 클래스로 작성가능 하다. 클래스형 뷰 (Class-based View)를 사용하면 상속과 믹스인 기능을 사용해서 코드를 재사용할 수 있고, 뷰를 체계적으로 구성할 수도 있다. 간단한 경우에는 함수형 뷰로 신속하게 개발하는 것도 하나의 방법이지만, 로직이 복잡해지고 프로젝트가 커질수록 클래스형 뷰의 장점이 효과를 발휘할 것이다. 1. 클래스형 뷰의 시작점 클래스형 뷰를 사용하기 위해서는 가장 먼저 URLconf에서 함수형 뷰가 아니라 클래스형 뷰를 사용한다는 점을 표시해줘야 한다. 예를 들어, MyView라는 클래스형 뷰를 사용한다면 URLconf는 다음과 같은 모습 장고의 URL 해석기는 요청과 관련된 .. 2022. 1. 13. [Django] 폼 처리하기 1. HTML에서의 폼 우리는 웹 사이트를 개발할 때 사용자로부터 입력을 받기 위해서 폼을 사용한다. HTML로 표현하면 폼은 ... 사이에 있는 엘리먼트들의 집합이다. 웹 사이트 사용자는 폼을 통해 텍스트를 입력할 수도 있고, 항목을 선택할 수도 있다. 이렇게 폼에 입력된 데이터는 서버로 보내진다. 텍스트 입력이나 체크 박스 등과 같은 간단한 폼의 엘리먼트들은 기본 위젯을 사용 하지만, 달력 위젯, 슬라이드 바 등의 복잡한 엘리먼트들은 자바스크립트나 CSS 를 사용하기도 한다. 폼은 엘리먼트 외에 폼 데이터를 어디로 보낼지 지정해주는 action 속성과 어떤 HTTP 메소드로 보낼지 지정해주는 method 속성을 설정해줘야 한다. HTTP 프로토콜 중 폼에서 사용할 수 있는 HTTP 메소드는 GET과 .. 2022. 1. 7. [Django] 템플릿 코드 1. 템플릿 변수 {{ variable }} 템플릿 시스템은 변수를 평가해서 변수값으로 출력해준다. 변수명은 일반 프로그래밍의 변수명처럼 문자, 숫자, 밑줄을 사용하여 이름을 정의한다. 또한 변수의 속성에 접근할 수도 있는 도트(.) 표현식도 가능하다. 장고의 템플릿 시스템에서 도트(.)는 파이썬 언어와는 조금 다르다. 템플릿 문법에서 도트(.)를 만나면 장고는 다음 순서로 찾기 (lookup)를 시도한다. 예를 들어, foo.bar라는 템플릿 변수가 있다면 다음과 같이 해석한다. - foo가 사전 타입인지 확인, 그렇다면 foo['bar'] 로 해석한다. - 그 다음은 foo의 속성을 찾는다. bar라는 속성이 있으면 foo.bar로 해석한다. - 그 다음은 foo가 리스트인지 확인한다. 그렇다면 fo.. 2022. 1. 5. 이전 1 2 3 4 ··· 6 다음