본문 바로가기

반응형

분류 전체보기

(268)
[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 라..
[Django] Django 설치 와 project 생성 지금 회사에 입사하면서 Django framework 를 처음 사용해보게 되었다. 실무를 하면서 Django 에 대해서 알아가면서 업무를 수행했다. 연말을 맞아서 파편화된 Django 지식들을 모아서 시리즈로 써보려고 한다. Django 설치, 프로젝트 초기화부터 ORM, cache, DB 연결, multi-tenancy, wsgi, asgi, celery 등등 다양한 기능과 여러 서비스들의 연동까지 최대한 다양한 내용들을 정리해보고자 한다. 이 글에서는 가장 기본이 되는 Djang 설치와 Django project 생성에 대해서 정리해보았다.1. django 설치가상환경 설정django 는 python 에서 웹 서비스를 구현하기 위한 framework 이다. 이때문에 기본적으로 python 이 설치된 ..

반응형