본문 바로가기

반응형

Framework/Django

(13)
[Django] View - Base view Django view 의 가장 기본이 되는 View 클래스에 대해서 알아보려 한다.1. Base viewDjango 에서 view class 를 구현하기 위해 기본적으로 제공해주는 Base view 들이 있다. View, TemplateView, RedirectView 이렇게 3가지 클래스를 Base view 라고 한다. 이들은 각각의 용도에 맞게 사용할 수도 있고 다른 View class 에서 상속받아 사용하기도 한다. - View: 모든 class-based view 가 상속하는 클래스- TemplateView: request 로 입력된 parameter 들을 가지고 지정되어 있는 템플릿을 렌더링 해주는 view- RedirectView: 지정된 URL 로 redirect 하는 view 이 중에서 가..
[Django] View - function-based view, class-based view Django 에서는 비즈니스 로직에 따라 사용자의 요청을 처리하여 응답을 반환해주는 레이어를 View 라고 부른다. view 는 함수로 구현할 수도 있고, 클래스 형식으로도 구현할 수 있다. 이 글에서는 View 를 구현한 예제와 Django 에서 제공해주는 View 관련 기능들에 대해서 정리해본다.1. View 사용 에제- function-based views함수형 뷰는 request 를 받아서 response 를 반환하는 로직을 함수로 구현한 것이다. 함수의 결과값인 response 는 html 웹 페이지나, 다른 주소로의 redirect, xml 문서, json 형식 데이터, 이미지 등등 다양한 형식이 될 수 있다. View 함수는 일반적으로 django app 의 views.py 에 구현한다. 아..
[Django] Logging 개발을 하다보면 시스템의 상태에 대한 로깅이 필요한 경우가 있다. 이번 글에서는 Django 에서 제공하는 logging 기능과 어떻게 사용하는지 등에 대해서 정리해본다.1. LoggingDjango 는 python 의 기본 logging 모듈을 기반으로 기능을 제공한다. logging 모듈에 사용되는 Logger, Handler, Filter, Formatter 등을 Django setting 에 설정하고, 이를 코드에서 호출하여 사용할 수 있다.- Loggers로그를 남기기 위해 사용하는 객체로 logging system 의 기능을 제공하는 일종의 인터페이스이다. 각 logger 의 이름을 지정하여 원하는 logger 를 선택해서 logging 을 수행할 수 있다.Logger 는 DEBUG, INFO..
[Django] Caching Django 에서는 웹서버 개발에 필요한 여러가지 기능을 제공해주는데, 그 중 하나가 Cache 이다. 복잡한 연산의 경우 한번 실행된 결과를 캐싱해놓고 이를 재사용하는 식으로 성능을 향상할 수 있는데, 이 글에서는 Django 의 cache framework 를 어떻게 설정하고 사용하는지 정리해본다.1. Cache FrameworkDjango 에서 cache 를 사용하기 위해서는 settings 에 설정을 추가해줘야 한다. 설정은 settings 의 CACHES 라는 속성으로 dict 형식으로 값을 저장해주면 된다. 아래 코드는 CACHES 의 기본값으로 아무런 설정이 없는 경우 Local-memory caching 을 사용하도록 설정되어 있다. { "default": { "BACKE..
[Django] Settings Django project 를 실행하기 위해서는 여러가지 설정을 해주어야 한다. 이러한 설정은 django 의 settings 모듈에 정의된다. 이 글에서는 django settings 에 대해서 알아보고 상황에 따라 다른 settings 를 적용할 수 있도록 구성해보는 방법을 정리해본다.1. Django settings- settings.pyDjango project 를 생성하면 project app 아래에 settings.py 모듈이 자동으로 생성된다. 이 파일은 django project 에 적용되는 여러가지 설정들을 정의해놓은 모듈이다. Django project 를 실행하면 프레임워크 내부에서는 settings 모듈에 정의된 값들을 기반으로 서버가 실행된다.- DJANGO_SETTINGS_MOD..
[Django] Model Query 지난 글에서는 Greeting 이라는 model 을 정의하고 migration 을 통해 database 에 model 을 적용해보았다. 이번 글에서는 django 에서 제공해주는 API 를 사용하여 model 객체를 생성하고 수정, 삭제하는 방법을 정리해본다.1. Managerdjango model 을 사용하여 query 를 작성하기 전에 manager 라는 개념에 대해서 먼저 알아보자. manager 는 django model 에 database query 작업을 제공해주는 인터페이스로 django app 에 포함된 모든 model 들은 최소 하나의 manager 를 가지고 있다.model 클래스가 가지고 있는 manager 는 기본적으로 objects 라는 이름을 가진다. 해당 model 과 관련된 ..
[Django] Model 정의와 Migration 지난 글에서는 hello 라는 django app 을 추가하고 간단한 api 를 추가하고 호출해보는 과정을 진행해보았다. 이번에는 django model 을 추가하고 django 기능을 사용해 database 에 적용하는 과정을 진행해보겠다.1. Django Model- django modeldjango 에는 model 이라는 개념이 있다. model 은 데이터 정보에 대해 정의된 클래스로, 데이터베이스의 테이블에 매핑되는 클래스라고 생각하면 된다. 테이블의 각 컬럼에 매핑되는 속성과 이를 다루는 메서드들을 포함하고 있다. django 의 migration 기능을 통해 model 을 database schema 에 적용할 수 있다.- model 정의model 을 정의하기 위해서는 django.db.mod..
[Django] Django app 생성 지난 글에서는 python 가상환경을 구성하고 Django 설치, Django project 생성까지 진행했다. 이번 글에서는 생성된 project 에 Django application 을 추가하고 간단하게 http api 를 구현해보겠다.1. appilcation 생성django 에는 app 이라는 개념이 있다. app 은 실제 서비스 로직을 가지는 web application 을 의미하는데, django project 는 django 관련 설정과 여러 app 들로 구성된다. app 은 django 의 특정 컨벤션에 따른 python 패키지로 구성되는데, 아래와 같이 간단한 명령어로 app 을 생성할 수 있다. $ python manage.py startapp hello 명령어를 실행하면 hello 라..

반응형