본문 바로가기

Backend study/Django

(6)
Django 언어 설정과 국제화(i18n) - LANGUAGE_CODE Django로 웹 애플리케이션을 개발할 때, 다국어 지원은 중요한 고려사항이다. 특히 글로벌 서비스를 목표로 한다면 더욱 그렇다. Django는 강력한 국제화(i18n) 기능을 제공하며, 그 시작점이 바로 LANGUAGE_CODE 설정이다. LANGUAGE_CODE란?LANGUAGE_CODE는 Django 프로젝트의 기본 언어(로케일)를 설정하는 옵션이다. 웹사이트에서 텍스트, 날짜, 숫자 등의 표시 형식이나 번역된 메시지가 어떤 언어로 보여질지를 결정한다.# settings.pyLANGUAGE_CODE = 'ko-kr' # 한국어# LANGUAGE_CODE = 'en-us' # 영어 (기본값)# LANGUAGE_CODE = 'ja' # 일본어# LANGUAGE_CODE = 'zh-hans' ..
Django 프로젝트에서 자동 생성되는 데이터베이스 테이블 Django 프로젝트를 시작하고 첫 마이그레이션을 실행하면, 우리가 만들지 않은 테이블들이 자동으로 생성되는 것을 볼 수 있다. 이 테이블들은 Django의 핵심 기능들을 지원하는 중요한 역할을 한다. 이번 포스트에서는 이러한 기본 테이블들의 역할과 구조를 자세히 알아보자. 첫 마이그레이션 후 생성되는 테이블들python manage.py migrate위 명령어를 실행하면 다음과 같은 테이블들이 자동으로 생성된다:auth_groupauth_group_permissionsauth_permissionauth_userauth_user_groupsauth_user_user_permissionsdjango_admin_logdjango_content_typedjango_migrationsdjango_session ..
APIView와 ViewSet Django로 REST API를 개발할 때 가장 중요한 개념 중 하나가 바로 뷰(View)다. Django REST Framework(DRF)는 API 개발을 위한 강력한 뷰 클래스들을 제공하는데, 그 중에서도 APIView와 ViewSet은 가장 핵심적인 요소다. APIView란?APIView는 Django REST Framework에서 제공하는 클래스형 뷰로, HTTP 메서드(GET, POST, PUT, DELETE 등)를 메서드로 나누어 처리할 수 있게 해주는 뷰 클래스다.일반 Django의 View와 거의 동일한 개념이지만, REST API 응답에 최적화된 기능들(요청 파싱, JSON 응답, 권한 처리 등)을 자동으로 포함한다. Django View vs APIView 비교기능 일반 Django ..
Django에서 시간대(Timezone) 다루기 - django.utils.timezone 웹 애플리케이션을 개발하다 보면 시간대 처리는 생각보다 복잡한 문제다. 특히 전 세계 사용자를 대상으로 하는 서비스라면 더욱 그렇다. Django는 이런 시간대 문제를 해결하기 위해 django.utils.timezone 모듈을 제공한다. 왜 시간대 처리가 중요한가?한국에서 오후 3시에 작성한 글이 미국 사용자에게는 몇 시로 표시되어야 할까? 서버는 UTC로 저장하고, 각 사용자의 지역 시간으로 변환해서 보여주는 것이 일반적이다. Django는 이런 복잡한 처리를 쉽게 할 수 있도록 도와준다. django.utils.timezone 핵심 기능1. make_aware() - Naive datetime을 Aware datetime으로 변환Python의 datetime 객체는 두 가지 종류가 있다:Naive ..
Django 프로젝트 구조와 명령어 완벽 가이드 Django 프로젝트 구조와 명령어 완벽 가이드Django로 웹 개발을 시작할 때 가장 먼저 마주하는 것이 바로 프로젝트 구조와 각종 명령어들이다. Django 프로젝트의 기본 구조와 각 파일의 역할, 그리고 자주 사용하는 명령어들을 상세히 정리해보자. 프로젝트 생성: django-admin startprojectDjango 프로젝트를 생성하는 첫 번째 단계다.django-admin startproject config .명령어 분석django-admin: Django가 설치되면 제공되는 커맨드라인 도구. 프로젝트/앱 생성, DB 마이그레이션, 서버 실행 등을 할 수 있음startproject: 새로운 Django 프로젝트(settings, wsgi 등 포함된 기본 구조)를 생성하는 서브커맨드config:..
Django란? Django란?Django(장고)는 파이썬으로 작성된 고수준 웹 프레임워크다. 2005년 미국 캔자스의 Lawrence Journal-World 신문사에서 웹 개발을 하던 Adrian Holovaty와 Simon Willison이 만들었다. 신문사의 빠른 개발 요구사항을 충족시키기 위해 탄생한 Django는 "완벽주의자들을 위한 웹 프레임워크"라는 슬로건을 가지고 있다. Django의 핵심 철학1. DRY (Don't Repeat Yourself)코드의 중복을 최소화하라. Django는 재사용 가능한 앱과 컴포넌트를 통해 이를 실현한다.2. 빠른 개발프로토타입에서 프로덕션까지 빠르게 개발할 수 있도록 설계되었다. 기본적으로 필요한 기능들이 대부분 내장되어 있다.3. 명시적인 것이 암시적인 것보다 낫다파이..

728x90