본문 바로가기

Django4

django 커스텀 유저 모델 처음 django 프로젝트를 설정하면 기본으로 설정되어있는 user 모델이 있다. 그래서 따로 user 모델을 추가하지 않더라도 python manage.py createsuperuser로 user 생성은 가능하다. 이렇듯 장고에는 숨겨진 기능들이 많은데, 사실 한눈에 잘 보이지 않을 뿐 없는 건 아니다. 가장 기본적인 사용자 모델을 코드 수준에서 눈으로 확인하고, AbstractUser, AbstractBaseUser을 사용해서 custom user model을 만드는 과정을 정리해본다. 지금 설정된 유저 모델은 무엇인가? settings 파일 어디에도 그런 변수는 없을 수 있다. 그러면 global settings에 그 값이 있을 것이다. global settings는 pip로 설치한 django 패.. 2022. 2. 1.
django rest framework의 serializer, view 추상화 과정 간단한 User 모델과 Serializer를 정의하고 추상화를 통해 반복되는 코드를 줄여보며 누가 마법을 부리는지 확인해보자. user/models.py GENDERS = [ ('M', 'Male'), ('F', 'Female'), ] class User(models.Model): name = models.CharField(blank=True, max_length=255) gender = models.CharField(blank=True, choices=GENDERS, max_length=1) created = models.DateTimeField(auto_now_add=True) user/serializers.py class UserSerializer(serializers.Serializer): pk .. 2020. 6. 25.
django model 정리 Django로 모델링할 때 항상 찾아보는 정보로 정확한 내용은 https://docs.djangoproject.com/en/3.0/ref/models/fields/#model-field-types에서 확인하면 좋다. Field Type AutoField auto increment 되는 IntegerField이다. 명시하지 않으면 아래와 같은 코드가 자동으로 생성된다. id = models.AutoField(primary_key=True) BigAutoField AutoField와 같지만 숫자 범위가 64bit이다. BigIntegerField BigAutoField와 같지만 값을 양수만 보장하지 않고, 음수인 경우까지 포함한다. BinaryField binary data를 저장하는 필드로 bytes, b.. 2020. 6. 13.
cookiecutter로 django 프로젝트 생성 cookiecutter를 이용해서 django 프로젝트를 쉽게 생성할 수 있다. 동작 방식은 다르지 않지만 파일 구조를 더 효율적으로 구분했기 때문에 기본으로 생성하는 방법보다 사용하기가 편리하다. $ pip install cookiecutter $ cookiecutter https://github.com/pydanny/cookiecutter-django coockiecutter로 프로젝트를 생성하면 수십 가지 질문을 하며 다양한 설정 파일을 쉽게 지정할 수 있다. project_name [My Awesome Project]: project_slug [my_awesome_project]: description [Behold My Awesome Project!]: author_name [Daniel Roy.. 2020. 6. 11.