Python (43) 썸네일형 리스트형 [Python] uv 프로젝트 관리 기존 python 생태계는 pip 와 requirements.txt 조합으로 패키지 의존성 관리를 해왔다. 나도 동일하게 pip, requirements.txt, venv 등을 사용해서 프로젝트 환경 관리, 패키지 관리 등을 했다. 이번에 새로운 프로젝트를 진행하면서 팀원의 제안으로 uv 도입을 검토하게 되었다. uv 는 더 빠른 속도의 패키지 관리를 넘어 프로젝트 전반적인 관리까지 다양한 기능을 제공해 준다고 한다. 이 글에서는 uv 가 무엇인지, 어떤 기능을 제공해주는지, 그리고 기존의 pip 와 어떤 차이가 있는지를 정리한다.1. uv 란uv 는 Rust 로 개발된 빠른 속도를 자랑하는 파이썬 패키지 및 프로젝트 관리 도구이다. 기본적인 파이썬 패키지 설치, 의존성 관리 등의 기능뿐 아니라 가상환경.. [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] Django 설치 와 project 생성 지금 회사에 입사하면서 Django framework 를 처음 사용해보게 되었다. 실무를 하면서 Django 에 대해서 알아가면서 업무를 수행했다. 연말을 맞아서 파편화된 Django 지식들을 모아서 시리즈로 써보려고 한다. Django 설치, 프로젝트 초기화부터 ORM, cache, DB 연결, multi-tenancy, wsgi, asgi, celery 등등 다양한 기능과 여러 서비스들의 연동까지 최대한 다양한 내용들을 정리해보고자 한다. 이 글에서는 가장 기본이 되는 Djang 설치와 Django project 생성에 대해서 정리해보았다.1. django 설치가상환경 설정django 는 python 에서 웹 서비스를 구현하기 위한 framework 이다. 이때문에 기본적으로 python 이 설치된 .. [Python] Exception Chaining (raise ... from ...) python 개발을 하면서 예외처리를 하다가 raise 와 from 이 같이 쓰이는 문법을 봤다. 어떤 용도로 쓰이는지 어떻게 동작하는지 궁금해서 관련한 내용들을 찾아보고 예제도 작성해보았다.1. Exception Chainingexcept 문 영역에서 처리되지 않는 예외가 발생하게되면, 처리중인 예외에 해당 내용이 에러 메시지에 추가되어 함께 처리되게 된다. 두 예외의 에러 메시지는 'During handling of the above exception, another exception occurred:' 라는 메시지로 연결되어 함께 출력되게 된다. 이 상황에서 raise 문에 from 을 함께 쓴다면 별개의 두 에러가 발생한 것이 아닌 에러의 인과관계를 연결하여 에러메시지를 처리할 수 있게 된다.자세.. 이전 1 2 3 4 ··· 6 다음