본문 바로가기

Django

(6)
Authentication System 1 인증 시스템에 대해 먼저 알아야 할 것이 있음 Cookie & Session 우리가 서버로부터 받은 페이지를 둘러볼 때는 서버와 연결되지 않은 독립적인 상태임 HTTP HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 규약 > 웹(WWW)에서 이루어지는 모든 데이터 교환의 기초 - connectionless : 비 연결 지향 서버는 요청에 대한 응답을 보내면 연결을 끊음 - stateless : 무상태 연결을 끊는 순간 통신이 끝나며 상태 정보가 유지되지 않음 Cookie 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각 > 클라이언트 측에서 저장되는 작은 데이터 파일 > 사용자 인증, 추적, 상태 유지 등에 사용되는 데이터 저장 방식 쿠키 사용 예시 1. 브라우저가 웹 페이지에 요청함(로..
Form HTML 'form' 지금까지 사용자로부터 데이터를 받을 때 활용한 방법 하지만 비정상적, 악의적인 요청을 필터링 할 수 없음 > 유효한 데이터인지 확인이 필요함 유효성 검사 수집한 데이터가 정확하고 유효한지 확인하는 과정 - 구현 : 입력 값, 형식, 중복, 범위, 보안 등 많은 것을 고려해야함 직접 구현하는 것이 아닌 Django-form 이용 Django Form 사용자 입력 데이터를 수집, 처리 및 유효성 검사를 수행하기 위한 도구 > 유효성 검사를 단순화, 자동화 할 수 있는 기능을 제공함 form class는 일반적으로 models.py와 분리하여 파일을 만들어 관리함 # Form class 정의 # articles/forms.py from django import forms class Art..
ORM ORM이란 Object-Relational-Mapping 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 기술 사용하는 언어가 다르면 소통을 못 함 django ORM Database QuerySet API ORM에서 데이터를 검색, 필터링, 정렬 및 그룹화 하는 데 사용하는 도구 > API를 사용하여 SQL이 아닌 Python 코드로 데이터를 처리 Python의 모델 클래스와 인스턴스를 활용해 DB에 데이터를 저장, 조회, 수정, 삭제(CRUD)하는 것 ex ) QuerySet API의 예시 구문 : Article.objects.all() - Article : Model class - objects : Manager - all() : Queryset API - SQL 파트는 알아서 실행이 될 거니 ..
Template & URLs Django Template system 데이터 표현을 제어하면서, 표현과 관련된 부분을 담당 DTL Django Template Language ; Template에서 조건, 반복, 변수 등의 프로그래밍적 기능을 제공하는 시스템 Variable render 함수의 세번째 인자로 딕셔너리 데이터를 사용 dot('.')를 사용하여 변수 속성에도 접근 가능 Filters 표시할 변수를 수정할 때 사용 (변수 + | + 필터) {{ variable|filter }} {{ name|truncatewords:30 }} 식으로 사용 가능 Tags 반복 또는 논리를 수행하여 제어 흐름을 만듦 일부 태그는 시작과 종료 태그가 필요 { % tag % } { % if % } { % endif % } Comments DTL..
Django 프로젝트 프로젝트 생성 루틴 + git 1. 가상환경 생성 2. 가상환경 활성화 3. Django 설치 4. 의존성 파일 생성 (패키지 설치시마다 진행) 5. .gitignore 파일 생성 (첫 add 전) 6. git 저장소 생성 7. Django 프로젝트 생성 $ python -m venv venv $ source venv/Scripts/activate $ pip install django $ pip freeze > requirements.txt #프로젝트 생성 $ django-admin startproject firstpjt . # Django 서버 실행 $ python manage.py runserver 서버 실행후 http://127.0.0.1:8000/ 에서 서버를 볼 수 있음 Design Patter..
Intro Web application 인터넷을 통해 사용자에게 제공되는 소프트웨어 프로그램을 구축하는 과정 웹의 동작 방식 Client : 서비스를 요청하는 주체 Server : 클라이언트의 요청에 응답하는 주체 1. 클라이언트가 'google.com'을 입력 2. 브라우저는 인터넷에 연결된 구글 컴퓨터(서버)에게 'Google 홈페이지.html' 파일을 달라고 요청 3. 요청받은 구글 컴퓨터는 DB에서 'Google 홈페이지.html' 파일을 찾아 응답 4. 전달받은 'Google 홈페이지.html' 파일을 사람이 볼 수 있도록 웹 브라우저가 해석하며 사용자는 페이지를 봄 웹 개발에서의 Frontend, Backend Frontend UI를 구성하고, 사용자가 앱과 상호작용할 수 있도록 함 > HTML, CSS..