2024/python 개발자 되기

from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser): first_name = models.CharField(max_length=150, editable=False) last_name = models.CharField(max_length=150, editable=False) profile_photo = models.ImageField() name = models.CharField(max_length=150, default="") is_host = models.BooleanField(default=False) Django에는 이미지 필드도 있음-> ..
장고는 기본적으로 Unique ID를 만듬-> 옛날에 자바강의 들을때 ID는 어떠한 것과 연관없는 auto increment와 같은 값을 넣는게 좋다는 것과 비슷한 맥락인듯 하다.url보면 ID가 박혀있음 on_delete는 model이 삭제 될때 어떻게 할건지를 설정하게 해줌 A계정이 house를 만들고 A계정을 삭제 했을때 어떻게 될까?-> 이때 on_delete가 사용됨 두가지 옵션이 있음1. house에 계정 정보를 null로 표시상황에 따라 적절할 수 있고 아닐수도 있음적절한 예) 결제관련: 사용자가 삭제되도 세금관련 처리를 위해 데이터가 남아있어야함-> on_delete=models.SET_NULL적절치 않은 예) 인스트그램 사진: 사용자가 삭제된 이후에도 해당 게시물이 남아 있는 것은 옳지 ..
from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser): first_name = models.CharField(max_length=150, editable=False) last_name = models.CharField(max_length=150, editable=False) name = models.CharField(max_length=150, default="") is_host = models.BooleanField(default=False)first_name과 last_name을 editable=false로 해두었는데 관리자 페이지에 들어가면 편집행..
User Model 커스텀하기덮어 쓰거나 속성을 몇개 없애거나 로직을 추가하는것 Models를 수정할때마다 migration을 해야하는 이유Python 코드에 있는 모델 구조와 데이터베이스의 구조를 서로 동기화 하기 위해서임from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser): first_name = models.CharField(max_length=150, editable=False) last_name = models.CharField(max_length=150, editable=False) name = models.CharField(max_length=1..
새 app 생성python manage.py startapp users새 app을 추가한 이후에는 CUSTOM_APPS에 추가해줘야햠# config - setting.pyCUSTOM_APPS = [ "houses.apps.HousesConfig", "users.apps.UsersConfig"] 장고에서 사용하는 User를 가져올 것임User안에는 아이디 패스워드 메일 등 이미 장고에서 구현해둔 코드들이 많음.  이것을 재사용하지않는다는 것은 매우 비효율적인 일임from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser): passUser가 장고의 User를 상속받아..
유저 패널에는 여러가지 속성값이 있음이름 속성, 이름, 권한등 설정할 수 있는 것이 다양함읽기 전용으로 지정할 수 있음해당 화면도 커스터마이징이 가능함프로필 이미지 추가가능, 소셜로그인으로도 바꿀 수 있음 사용자 모델을 커스텀 또는 확장하는 방법은 두가지가 있음1. User를 받아 온 후 커스텀 속성을 지정하는 방법User (Django)Profile(>User)2. User 자체를 갈아치우는 방법-> 실제로 장고에서 추천하는 방법, 맨처음 프로젝트를 시작할때 기본 사용자 모델이 충분하더라도 바꾸라고 권장함. 맨처음이라는 것이 중요함, 프로젝트 중간에도 바꿀 수는 있지만 더 어렵고 자동적용되지는 않는다고함파이참에서 django.db와 models에 경고 표시가 발생할 수 있는데 이는 인터프린터 지정이 제..
장고는 어플리케이션으로 나누어져있음어플리케이션 -> 폴더폴더에 데이터와 로직이 있음에어비엔비를 app으로 나누다면?1. roomroom을 검색하고 정보를 보고 수정, 삭제, 업로드 가능데이터는 집, 집사진을 볼 수도 있고 설명을 볼 수도 있음, 집의 이름을 변경할 수도 있음-> 데이터2. user프로필을 설정할 수 있고 소셜 로그인을 할 수 있음.3. reviewreview를 위한 데이터와 로직을 다룸, room과 user가 연관됨 -> 여러가지 서비스가 섬과 같이 존재하고 섬들은 유기적으로 연결되어 서비스를 작동시킴house 어플리케이션을 만듬python manage.py startapp houses모델이란 어플리케이션에서 데이터의 모양을 묘사한것 장고는 models.py안의 코드를 가져가서 데이터베이..
라이브러리는 개발자가 호출하는 것-> 라이브러리를 import하여 코드에 사용함 프레임워크는 우리의 코드를 호출함-> 우리 코드의 위치를 보고 올바른 곳에 있다면 프레임 워크가 그 코드를 사용함#/config/setting.pyLANGUAGE_CODE = 'ko-kr'TIME_ZONE = 'Asia/Seoul'USE_I18N = TrueUSE_TZ = TrueLANGUAGE_CODE 및 TIME_ZONE을 수정하면 admin page에 반영됨#config/urls.pyurlpatterns = [ path('admin/', admin.site.urls),]urlpatterns를 수정하여 관리자 페이지의 엔드포인트를 변경할 수 있음  즉 프레임워크는 위와 같은 코드의 위치를 기억해서 코드를 실행한다는 뜻
키보드발
'2024/python 개발자 되기' 카테고리의 글 목록