Django 32

[Django] 31. HTTP

1. HTTPHyper Text Transfer ProtocolHTML문서와 같은 리소스들을 가져올 수 있도록 하는 프로토콜리소스 : Http 요청의 대상 ⇒ 문서, 사진, 기타 등등 어떤 것들이 될 수 있다 ⇒ URI로 식별된다.클라이언트 ↔ 서버간의 요청과 응답에 의해 실행HTTP의 특징Stateless : 응답을 마치고 연결을 끊는 순간 → 통신 끝! 상태유지 XHTTP Request Methods : GET, POST, PUT, DELETE …2. Http Request MethodsGET리소스의 표현을 요청데이터 검색만POST데이터를 지정된 리소스에 제출서버의 상태 변경PUT요청한 주소의 리소스 수정DELETE리소스 삭제 3. Http response Status100번대 : Informatio..

Django 2022.11.06

[Django] 30. DRF - Serialization

1. What is serialization?직렬화데이터 구조나 객체 상태를 동일 혹은 다른 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정→ 나중에 다시 쉽게 사용할 수 있는 포맷으로 변환하는 과정→ json이 가장 보편적으로 쓰인다.Django의 serialize()는 JSON으로 쉽게 변환할 수 있는 Python의 데이터 타입으로 만들어준다. 2. Djago REST framework 사용해보기settings.py의 INSTALLED_APPS 에 'rest_framework'가 설치되어있는지 확인한다.articles/serializers.py에 다음과 같이 추가한다.from rest_framework import serializers from .models import Art..

Django 2022.11.04

[Django] 29. 탈퇴, 회원정보 수정 기능 구현하기

1. 회원가입 과정은 아래를 참고합시다.https://mummur.tistory.com/77?category=10804922. 로그인과 로그아웃 구현은 아래를 참고합시다.https://mummur.tistory.com/78?category=1080492 3. 회원 탈퇴# accounts/urls.py urlpatterns = [ ... path("delete/", views.delete, name="delete"), path("update/", views.update, name="update"), path("password/", views.password, name="password"), ]# accounts/views.py @require_POST # 회원 탈퇴의 과정은 삭제 후 로그아웃이다. def ..

Django 2022.11.04

[Django] 28. 1:N 관계

1. 1:N?Many-to-one relationships한 테이블의 0개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 경우⇒ 예를 들어 고객(1)의 주문(N), 게시글(1)의 댓글(N)의 관계라고 할 수 있겠다. 2. Foreign Key?외래키다른 테이블의 행을 식별할 수 있는 키 ⇒ 참조되는 테이블의 PK를 가리킨다.참조무결성 때문에 테이블의 유일한 값을 참조해야 한다.참조하는 테이블 행 여러개가 참조되는 테이블의 동일한 행을 참조할 수 있다. 3. models.py 재 생성하기#articles/models.py class Comment(models.Model): article = models.ForeignKey(Article, on_delete=models.CASCADE) content ..

Django 2022.11.04

[Django] 27. View Decorators

💡공식문서는 아래를 참고하면 된다.https://docs.djangoproject.com/en/4.1/topics/http/decorators/ 1. 사용하려는 view 함수 상단에 불러오기from django.views.decorators.http import require_http_methods 2. view decorators 의 종류@require_http_methods(["GET", "POST"]) : GET, POST 요청을 허용한다. @require_GET : GET 요청만을 허용한다. @require_POST : 오직 POST 요청만을 허용한다. @require_safe : GET 요청과 HEAD 요청을 허용한다. Uploaded by N2T

Django 2022.11.04

[Django] 25. HashTag 기능 만들기(get_or_create(), custom 모델 활용)

M:N 관계를 배운 이후에 Hash Tag 기능을 사용하게 되었다.1. Model에 Hashtag 추가하기#movies/models.py (main app/models.py) class Hashtag(models.Model): content = models.CharField(max_length=30, unique=True) class Movie(models.Model): ... hashtag = models.ManyToManyField(Hashtag, blank=True)해쉬태그라는 class를 새로 만든다. 그리고 Movie에는 ManyToManyField를 사용해서 hastag field를 추가해 주었다. 💡unique = True 는 어떤 속성일까?동일한 해쉬태그의 경우, 복수의 값은 인정하지 않기..

Django 2022.11.04

[Django] 24. M:N 관계

1. M-N ?Many-to-many relationships한 테이블의 0개 이상의 레코드가 다른 테이블의 0개 이상의 레코드와 관련된 경우양쪽 모두에서 N:1 관계를 가진다. 2. ManyToManyField중개 테이블을 자동으로 생성한다.ManyToManyField는 M:N 관게를 맺는 두 모델 어디에 위치해도 상관 없다.대신 참조와 역참조 방향을 주의해야 한다. 3. ManyToManyField Argumentsrelated_nametarget model이 source model을 참조할 때 사용할 manager nameForeignKey의 related_name과 동일한 역할through중개테이블을 직접 작성하는 경우, through 옵션을 사용하여 중개 테이블을 나타내는 Django 모델을 지..

Django 2022.11.04