목록Web/Django (7)
DevYoon
CORS SOP(Same-Origin Policy) 1️⃣ SOP란? 동일 출처 정책 특정 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식 잠재적으로 해로울 수 있는 문서를 분리 ➡️ 공격받을 수 있는 경로 줄임 2️⃣ Origin(출처) 두 URL의 Protocol, Port, Host가 모두 같아야 동일한 출처 *️⃣ http://localhost:3000/posts/3 Scheme / Protocol Host Port Path http localhost: 3000 posts/3 CORS 1️⃣ Cross-Origin Resource Sharing 교차 출처 리소스(자원) 공유 추가 HTTP Header를 사용 ➡️ 특정 출처에서 실..
completed = forms.BooleanField(label='Completed', label_suffix=' : ', required=False, widget=forms.widgets.CheckboxInput()) label_suffix : 라벨과 위젯 사이에 들어갈 컨텐츠 required : 체크박스를 체크하지 않고(False 상태) 넘겨줄 수 있게 하기 위해 required를 False로 두었다. 만약 required=True가 된다면, 체크박스를 체크해야만 넘겨줄 수 있다. 3️⃣ 체크박스 : widget에 CheckboxInput()을 사용
Django Template 1️⃣ DTL (Django Template Language) Django template에서 사용하는 built-in template system 조건, 반복, 변수 치환, 필터 등의 기능을 제공 Python처럼 일부 프로그래밍 구조(if, for 등)를 사용할 수 있지만, 해당 python 코드로 실행되는 것은 아님 DTL Syntax 1️⃣ {{ Variable }} render()를 통해 views.py에서 정의한 변수를 template 파일로 넘겨 사용하는 것 변수명은 영어, 숫자, 밑줄(_) 조합으로 구성될 수 있으나 밑줄로는 시작 불가능 공백이나 구두점 문자 사용 불가능 (.)를 사용하여 변수 속성에 접근 가능 {{ 변수명.속성 }} render()의 세 번째 인..
Django 요청과 응답 1️⃣ URLS HTTP 요청(Request)을 알맞은 View로 전달 init.py ➡️ 앱의 모든 것을 패키지처럼 쓸 수 있게 해줌 from import views trailing comma : 마지막에 ,을 써주는 것으로 장고에서 권장되는 작성 형식. 이후에 바로 새로운 것을 입력할 수 있도록 써줌 path('admin/', admin.site.urls), 2️⃣ View 클라이언트의 요청 객체가 넘어옴 urls.py를 호출했을 때 템플릿을 렌더링 해줌 def index(request): return render(request, '.html(템플릿 경로)') 3️⃣ Template 템플릿 생성 : 앱 안에 templates 폴더 생성(일종의 약속..
Django 시작 1️⃣ 가상환경 생성 및 활성화 1️⃣-1️⃣ 생성 python -m venv 1️⃣-2️⃣ 활성화 방법 1 source /Scripts/activate 방법 2 Ctrl+Shift+P ➡️ python select interpreter ➡️ 터미널 껐다 켜기(Ctrl+`) 2️⃣ Django 설치 requiremets가 없을 때 pip install django==3.2.12 requirements 있을 때 pip install -r requirements.txt 3️⃣ 프로젝트 생성 프로젝트 = Application의 집합 하나의 프로젝트는 여러 앱을 가짐 django-admin startproject 옵션 . : .을 붙이지 않으면 프로젝트 폴더 안에 프로젝트 생성 .을 붙이면 폴..
Django 검증된 파이썬 기반 웹 프레임워크 1️⃣ 웹 프레임워크란? 1️⃣-1️⃣ WEB(World Wide Web) 인터넷에 연결된 컴퓨터를 통해 정보를 공유할 수 있는 전세계적인 정보 공간 1️⃣-2️⃣ 프레임워크(Framework) 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임 재사용할 수 있는 수많은 코드를 프레임워크로 통합 → 개발자가 새로운 애플리케이션을 위한 표준 코드를 다시 작성하지 않아도 같이 사용할 수 있도록 도움 1️⃣-3️⃣ 웹 프레임워크(Web Framework) 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함 동적인 웹 페이..
Django Form 1️⃣ Django의 Form을 사용하는 이유 ➡️ 유효성 검증 유효성 검증 : 사용자가 입력한 데이터를 검증하는 것 HTML의 form, input 태그를 사용해서 직접 사용자로부터 데이터를 받으면 유효성 검증을 코드로 모두 구현해야 함 Django의 Form은 이러한 작업과 반복 코드를 줄여줌 외부의 악의적 공격 및 데이터 손상에 대한 중요한 방어 수단 2️⃣ Django가 처리해주는 form에 관련된 작업 3가지 렌더링을 위한 데이터 준비 및 재구성 데이터에 대한 HTML Forms 생성 클라이언트로부터 받은 데이터 수신 및 처리 3️⃣ Django Forms 3️⃣-1️⃣ forms 선언하기 앱 안에 forms.py 파일 생성 from django import forms cl..