Web/Django 14

DRF (Django REST Framework)

DRF (Django REST Framework) Web API 구축을 위한 강력한 toolkit을 제공 REST framework 개발에 필요한 다양한 기능을 제공 Serialization (직렬화) 데이터 구조나 객체 상태를 동일하거나 다른 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정 예를 들어 DRF의 Serializer는 Django의 Queryset및 Model Instance와 같은 복잡한 데이터를, JSON, XML 등의 유형으로 쉽게 변환할 수 있는 Python 데이터 타입으로 만들어 줌 DRF의 Serializer는 Django의 Form 및 ModelForm 클래스와 매우 유사하게 작동 Django와의 비교 Django DRF Response HTML JSON..

Web/Django 2021.05.08

REST API

REST API API (Application Programming Interface) 프로그래밍 언어가 제공하는 기능을 수행할 수 있게 만든 인터페이스 어플리케이션과 프로그래밍으로 소통하는 방법 프로그래밍을 활용해서 할 수 있는 어떤 것 CLI, GUI는 각각 명령줄과 그래픽(아이콘)을 통해서 특정 기능을 수행하는 것이며, API는 프로그래밍을 통해 그 일을 수행할 수 있음 Web API 웹 어필리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세 현재 웹 개발은 추가로 모든 것을 개발하지 않고 여러 Open API를 가져와서 활용하는 추세 예시) 구글 및 카카오 지도 API, 우편번호/도로명/지번 검색 API 등 API Server Client가 Server에 요청 Server..

Web/Django 2021.05.08

django_09_model_relationship

09_django_model_relationship ManyToManyField https://docs.djangoproject.com/en/3.1/ref/models/fields/#manytomanyfield M:N(이하 다대다) 관계를 나타내기 위해 사용하는 필드 하나의 필수 위치인자(다대다 관계로 설정할 모델 클래스)가 필요하다. Arguments related_name ForeignKey의 related_name과 동일 through django는 다대다 관계를 관리하는 중개 테이블을 자동으로 생성한다. 하지만, 중간 테이블을 직접 지정하려면 through 옵션을 사용하여 중개 테이블을 나타내는 Django 모델을 지정할 수 있다. 일반적으로 추가 데이터를 다 대다 관계와 연결하려는 경우(extr..

Web/Django 2021.04.01

django_08_model_relationship

08_django_model_relationship https://docs.djangoproject.com/en/3.1/ref/models/fields/#module-django.db.models.fields User - Article # articles/models.py from django.conf import settings class Article(models.Model) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ... $ python manage.py makemigrations # 첫번째 상황(null 값이 허용되지 않는 user_id 가 아무 값도 없이 article 에 추가되려 하기 때문) $ p..

Web/Django 2021.03.29

django_07_custom_authentication

07_django_custom_authentication User model 대체하기 https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#auth-custom-user 일부 프로젝트에서는 Django의 내장 유저 모델이 제공하는 인증 요구사항이 적절하지 않을 수 있다. django는 custom model을 참조하는 AUTH_USER_MODEL 설정을 제공하여 default user model을 재정의(override)할 수 있도록 한다. django는 새 프로젝트를 시작하는 경우 기본 사용자 모델이 충분하더라도 커스텀 유저 모델을 설정하는 것을 강력하게 권장(highly recommended) 커스텀 유저 모델은 기본 사용자 모델과 동일하게 ..

Web/Django 2021.03.25

django_06_model_relationship

06_django_model_relationship https://docs.djangoproject.com/ko/3.1/ref/models/fields/#module-django.db.models.fields.related Foreign Key 개념 외래 키(외부 키) RDBMS에서 한 테이블의 필드 중 다른 테이블의 행을 식별할 수 있는 키 참조하는 테이블에서 1개의 키(속성 또는 속성의 집합)에 해당하고 이는 참조되는 측의 테이블의 기본 키를 가리킴 참조하는 테이블의 속성의 행 1개의 값은, 참조되는 측 테이블의 행 값에 대응 이 때문에 참조하는 테이블의 행에는, 참조되는 테이블에 나타나지 않는 값을 포함할 수 없음 참조하는 테이블의 행 여러 개가, 참조되는 테이블의 동일한 행을 참조할 수 있음 특징..

Web/Django 2021.03.24

django_05_auth

05_django_auth Accounts app 이름이 반드시 accounts 일 필요는 없지만, auth 관련 기본 설정들이 accounts로 내부적으로 사용되고 있기 때문에 되도록 accounts로 명명 권장 $ python manage.py startapp accounts # settings.py INSTALLED_APPS = [ 'articles', 'accounts', ... # myform/urls.py urlpatterns = [ path('accounts/', include('accounts.urls')), ] # accounts/urls.py from django.urls import path from . import views ..

Web/Django 2021.03.23

django_04_static_media_files

04_django_staticfiles Static files 웹 사이트의 구성 요소 중에서 image, css, js 파일과 같이 해당 내용이 고정되어 응답을 할 때 별도의 처리 없이 파일 내용을 그대로 보여주면 되는 파일 https://docs.djangoproject.com/en/3.1/howto/static-files/#managing-static-files-e-g-images-javascript-css Static files 구성 django.contrib.staticfiles 앱이 INSTALLED_APPS에 있는지 확인 setting.py에 STATIC_URL 정의 템플릿에서 static 템플릿 태그를 사용하여 static file이 있는 상대경로를 빌드 앱에 static file 저장하기 ..

Web/Django 2021.03.18