해당 글에서는 장고의 Applications, apps.py 파일에 관해 다룬다. 장고에서 앱이란 재사용 가능한 단위의 모듈을 의미한다. 앱은 모델, 뷰, 템플릿, 정적파일, URLs, 미들웨어등 다양한 것으로 이루어져 있다. 이를 프로젝트 설정의 INSTALLED_APPS에 넣어 앱을 프로젝트에 포함시킨다. 사실 apps.py는 기본적으로 크게 다루는 일이 적다. 그래서 이후에 소개할일이 없을 듯 하여, Django Basic 1장에서 간단히 소개해보려 한다. INSTALLED_APPS settings.py의 INSTALLED_APPS를 보면 기본적으로 다음과 같은 앱들이 포함되어 있다. INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth'..
파이썬의 패키지 관리는 까다롭기로 악명 높다. Node의 경우에는 당장 npm만 사용하더라도 정말 쾌적한 경험을 선사하지만, 파이썬의 경우에는 온갖 뒤죽박죽인 데다, 파이썬 버전마다 호환성도 제각각이고, 가상환경을 제공하는 앱도 정말 많아 어느 것을 사용해야 할지 결정하기 어렵다. 파이썬 가상 환경, 패키지 매니저 정리(venv, poetry, pipvenv...) 개인적으로 추천하는 방식은 아예 개발환경부터 Docker을 사용해서 가상환경을 만들거나, 간단하게 venv를 사용하거나, Poetry를 사용하는 것이다. 최근에 사용하는 방식은 Poetry를 개발환경에서 쓰되, 배포 시에는 requirements.txt를 추출해서 배포하는 방식인데, 이번 Django Basic 시리즈에서 사용할 프로젝트도 다..
해당 글에서는 가상환경 생성, 장고 프로젝트 생성, 앱 생성을 다룰 예정입니다. 시작하기 전에, 가상환경 구성하기 본 시리즈에서는 Poetry를 이용하여 가상환경을 구성한다. 관련된 내용은 다음 포스트에 따로 정리하였다. [Django Basic] 1.2. 파이썬에서의 가상 환경 [Django Basic] 1.2. 파이썬에서의 가상 환경 devmuromi.tistory.com 장고 프로젝트 생성하기 django-admin startproject django_basic . # 만약 Poetry를 사용한다면 아래와 같이 poetry run을 이용하여 # poetry 가상환경에서 명령어를 실행할 수 있다 poetry run django-admin startproject django_basic . 만약 Poet..
나는 보통 백엔드 개발 시에 Django와 DRF를 주로 사용하는데, 이에 대해서 사실 그냥 덕지덕지 배운 느낌으로 사용하고 있어서, 시간을 내서 Django와 DRF의 기능들에 대해 세세하게 파보기 위하여 Django Basic과 DRF Basic 시리즈를 작성하기로 결심했다. 우선 장고를 어떤 방식으로 찾아보고, 어떻게 글을 써갈지 조금 고민을 했다. Django Tutorial을 따라가며 글을 쓴다면 다음과 같은 시리즈가 나올 것이다. Create project, create app, write views and urls, url path arguments INSTALLED_APPS, Create models, activate models, Django admin Templete, HttpRespo..
장고에서 SECRET_KEY는 보안상 중요하고 외부에 유출되면 안되는 값이다. 그렇기에 새로 SECRET_KEY를 생성해야 하는 일이 있는데, 이럴때 외부에서 제공하는 웹사이트에서 생성하자니 보안의 우려가 있고, 또 무작위로 써넣기도 애매하다. 그러나 장고에서는 SECRET_KEY를 생성하는 기능을 포함해 두었다. 방법은 다음과 같다. python manage.py shell 위와 같이 shell을 실행해준다. from django.core.management.utils import get_random_secret_key get_random_secret_key() 다음과 같이 함수를 실행해주면 무작위 SECRET_KEY를 얻을 수 있다.
Django의 유저 모델들 Django에서는 기본적으로 유저 모델 django.contrib.auth.models의 User를 제공하고, 이를 통해 간편하게 인증 등을 처리할 수 있다. 또한 기본제공되는 유저모델을 확장할 수 있게 다음과 같은 다양한 방법이 있다. User에 기반한 Proxy Model 생성하기 1:1 로 User에 연결된 모델 만들기 AbstractUser 상속받아 커스텀 유저 모델 만들기 AbstractBaseUser 상속받아 커스텀 유저 모델 만들기 AbstractUser 모델 기본적으로 제공하는 django.contrib.auth.models의 User을 사용하더라도, 이후에 유저 모델을 수정할 일이 생길수있다. 그런데 이후에 이를 수정한다면 그 과정이 매우 힘들기에, 기본적으로 ..