Django 18

Many to many relationships 2 [Database]

팔로우 구현하기사전 준비 : 프로필 페이지 준비하기 프로필 구현(1/5)url 작성프로필 구현(2/5)view 함수 작성 프로필 구현(3/5)profile 템플릿 작성   프로필 구현(4/5)프로필 페이지로 이동할 수 있는 링크 작성프로필 구현(5/5)프로필 페이지 결과 확인    모델 관계 설정User(M) - User(N)0명 이상의 회원은 0명 이상의 회원과 관련회원은 0명 이상의 팔로워를 가질 수 있고, 0명 이상의 다른 회원들을 팔로잉 할 수 있음모델 관계 설정 (1/2)ManyToManyField 작성 참조내가 팔로우 하는 사람들 (팔로잉, followings)역참조상대방 입장에서 나는 팔로워 중 한 명 (팔로워, followers)바뀌어도 상관 없으나 관계 조회 시 생각하기 편한 방향으로 정..

Django 2024.10.15

Many to Many Relationships 01 [Database]

Many to many relationships N:M or M:N한 테이블의 0 개 이상의 레코드가 다른 테이블의 0개 이상의 레코드와 관련된 경우 →양쪽 모두에게 N:1 관계를 가짐  N:1의 한계 (예시로 설명)한 명의 의사에게 여러 환자가 예약할 수 있도록 설계2명의 의사와 환자를 생성하고 환자는 서로 다른 의사에게 예약만약 1번 환자가 두 의사 모두에게 진료를 받고자 한다면 환자 테이블에 1번 환자 데이터가 중복으로 입력됨외래 키 컬럼에 '1,2' 형태로 저장하는 것은 DB 타입 문제로 불가능하기 때문에 중개 모델(예약 테이블)을 따로 만들어서 해결해야함  중개 모델  1. 예약 모델 생성환자 모델의 외래 키를 삭제하고 별도의 예약 모델을 새로 생성예약 모델은 의사와 환자에 각각 N:1 관계를 ..

Django 2024.10.14

Many to one relationships 2 [Database]

Article(N) - User(1)0명 이상의 게시글은 1명의 회원에 의해 작성 될 수 있다 Comment (N)- User(1)0개 이상의 댓글은 1명의 회원에 의해 작성 될 수 있다. Article & UserArticle - User 모델 관계 설정User  외래 키 정의 User 모델을 참조하는 2가지 방법Django 프로젝트 '내부적인 구동 순서'와 '반환 값'에 따른 이유User 모델을 직접 참조하지 않는다는 것을 기억하자!!!!!!!!!!  get_user_model()settings.AUTH_USER_MODEL반환값 User Object(객체)'accounts.User'(문자열)사용위치models.py가 아닌 다른 모든 위치medels.py  Migration 하기python manage..

Django 2024.10.11

Many to one relationships 01 [Database]

N:1 or 1:N한 테이블의 0 개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 관계 Comment (N)- Article(1)0개 이상의 댓글은 1개의 게시글에 작성될 수 있다. 1은 N에 대한 물리적인 정보를 가질 수 없다  Django를 활용한 댓글 모델 정의 ForeignKey()한 모델이 다른 모델을 참조하는 관계를 설정하는 필드N:1 관계 표현데이터베이스에서 외래키로 구현댓글 모델 정의ForeignKey 클래스의 인트턴스 이름은 참조하는 모델 클래스 이름의 단수형으로 작성하는 것을 권장외래키는 ForeignKey 클래스를 작성하는 위치와 관계없이 테이블의 마지막 필드로 생성됨ForignKey(to,on_delete)to : 참조하는 모델 class 이름on_delete: 외래키가 참..

Django 2024.10.11

SQL 02 [Database]

Managing Tables Create TABLE statement테이블 생성 CREATE TABLE syntax각 필드에 적용할 데이터 타입 작성테이블 및 필드에 대한 제약조건(constraints) 작성 CREATE TABLE 활용examples 테이블 생성 및 확인  테이블 schema(구조) 확인cidColumn ID를 의미하며 각 컬럼의 고유한 식별자를 나타내는 정수 값직접 사용하지 않으며 PRAGMA 명령과 같은 메타데이터 조회에서 출력 값으로 활용됨 SQLite 데이터 타입NULL아무런 값도 포함하지 않음을 나타냄INTEGER정수REAL부동 소수점TEXT문자열BLOB이미지, 동영상, 문서 등의 바이너리 데이터Constraints (제약조건) 테이블의 필드에 적용되는 규칙 또는 제한 사항데이..

Django 2024.10.10

SQL [Database]

Databasedata와 base의 합성어, 체계적인 데이터 모음 데이터 저장이나 처리에 효율적인 형태로 변환된 정보 기존의(과거) 데이터 저장 방식파일(file)을 이용어디에서나 쉽게 사용 가능데이터를 구조적으로 관리하기 어려움스프레드 시트(Spreadsheet)를 이용테이블의 열과 행을 사용해 데이터를 구조적으로 관리 가능한계크기: 일반적으로 약 100만 행까지만 저장가능보안: 단순히 파일이나 링크 소유 여부에 따른 단순한 접근 권한 기능 제공정확성만약 데이터가 바뀌면 이 변경으로 인해 테이블 모든 위치의 해당 값을 업데이트 해야함찾기 및 바꾸기 기능을 사용해 바꿀 수 있지만 만약 데이터가 여러 시트에 분산되어 있다면 변경에 누락이 생기거나 추가적인 문제가 발생할 수 있음Relational Datab..

Django 2024.10.10

Authentication System 02 [Django]

회원가입User 객체를 Create 하는 과정 UserCreationForm()회원 가입시 사용자 입력 데이터를 받는 built-in ModelForm 회원 가입 페이지 구현1. urls.py에 path 추가 2. views.py에 signup 함수 추가하기  3. signup.html 작성하기   제출시 발생하는 오류회원가입에 사용하는 UserCreationForm이 대체한 커스텀 유저 모델이 아닌 과거 Django의 기본 유저 모델로 인해 작성된 클래스로 되어있기 때문에 발생하는 오류  오류 해결 방법UserCreationForm 과 UserChangeForm 은 둘다 class Meta: model =User 가 작성된 Form이기 때무네 재작성이 필요하다. UserCreationForm 과 Use..

Django 2024.10.02

Authentication System 01 [Django]

Cookie & SessionHTTPHTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 규약. 웹(WWW)에서 이루어지는 모든 데이터 교환의 기초 HTTP 특징비연결 지향(connectionless)서버는 요청에 대한 응답을 보낸 후 연결을 끊음무상태(stateless)연결을 끊는 순간 클라이언트와 서버 간의 통신이 끝나며 상태 정보가 유지되지 않음 쿠키(cookie)서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각서버가 제공하여 클라이언트 측에서 저장되는 작은 데이터 파일사용자 인증, 추적, 상태 유지 등에 사용되는 데이터 저장 방식쿠키 동작 예시브라우저가 웹 서버에 웹 페이지를 요청웹 서버는 요청된 페이지와 함께 쿠키를 포함한 응답을 브라우저에게 전송브라우저는 받은 쿠키를 저장소에 저쿠키..

Django 2024.09.30