Web 33

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

CSS 개념

CSS 스타일, 레이아웃 등을 통해 HTML이 사용자에게 어떻게 표시 되는지를 지정하는 언어 사용자에게 문서(HTML)를 표시하는 방법을 지정하는 언어 CSS 구문 구문은 선택자와 함께 열린다. 스타일을 지정할 html 요소를 선택. 다음 중괄호가 있는데 이 안에는 속성과 값 쌍 형태를 가지는 하나 또는 그 이상의 선언(declaration)이 있다. 각 쌍은 우리가 선택한 요소의 속성을 지정하고 속성에 부여할 값을 지정한다. 선언문 속성 (Property) 사람이 읽을 수 있는 식별자로, 어떤 (글꼴, 너비, 배경색 등) 스타일 기능을 변경할지 나타냅니다. 값 (Value) 각 속성에는 값을 부여한다. 값은 어떻게 (글꼴을 이걸로, 배경 색을 저걸로 등)스타일 기능을 변경할 건지 나타낸다. CSS 정의..

Web/HTML & CSS 2021.03.25

HTML 개념

HTML "웹 컨텐츠의 의미와 구조를 정의할 때 사용하는 언어" HTML 기초 Hyper 텍스트 등의 정보가 동일 선상에 있는 것이 아니라 다중으로 연결되어 있는 상태 Hyper Text 참조(하이퍼링크)를 통해 사용자가 한 문서에서 다른 문서로 즉시 접근 할 수 잇는 텍스트 하이퍼 텍스트가 쓰인 기술등 중 가장 중요한 2가지 (http, html) Markup Language 특정 텍스트에 역할을 부여하는, 따라서 "마크업을 한다" 라고 하는 건 제목이 제목이라하고 본문이 본문이라고 마킹을 하는 것 ex) h1 tag는 단순히 글자가 커지는 것이 아니라 의미론적으로 그 페이지에서 가장 핵심 주제를 의미하는 것 HTML 기본 구조 DOM DOM은 문서의 구조화된 표현(structured represent..

Web/HTML & CSS 2021.03.25

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

django_03_form

03_django_form Django 프로젝트의 주요 유효성 검사 도구들 중 하나이며, 공격 및 데이터 손상에 대한 중요한 방어 수단이다. Django's role in forms Django는 forms에 관련된 작업의 세 부분을 처리한다. 렌더링을 위한 데이터 준비 및 재구성 데이터에 대한 HTML forms 생성 클라이언트로 부터 받은 데이터 수신 및 처리 이 모든 작업을 수동으로 수행하는 코드를 작성할 수 있지만 Django가 모든 작업을 처리 할 수 있다. Form Class https://docs.djangoproject.com/ko/3.1/topics/forms/#working-with-forms Django form 관리 시스템의 핵심이다. form내 field들, field 배치..

Web/Django 2021.03.17