분류 전체보기 323

[Authentication] Token 기반 시스템이란?

👉 토큰 기반 시스템 이란? 토큰 기반 인증이란 유저에게 유저의 정보를 토대로, 고유한 Access Token을 받아 리소스 접근에 대해 보다 쉽게 통제할 수 있는 프로토콜로 사용자는 토큰 유효 기간 동안 동일한 웹페이지나 앱, 혹은 그 밖에 해당 토큰으로 보호를 받는 리소스로 재 접근시 자격 증명을 다시 입력할 필요 없게 됨 👉 토큰 기반 시스템 작동 원리 1) 유저가 아이디와 비밀번호로 로그인 2) 서버에서 해당 로그인 정보를 검증 및 유저에게 Token 발급 3) 해당 Token은 Signed Token으로 서버에서 정상적으로 발급된 것 이라는 Signature를 지니고 있음. 4) 클라이언트 측에서는 전달받은 토큰을 저장해두고, 서버에 접근시 활용 5) 서버는 접근시 마다 해당 Token을 확인하..

[Week I Learned] 22년 6월 1주차

금주 진행 사항 기간 : 22.05.30 (월) ~ 22.06.03(금) 학습 내용 Django Framework 지식 정리 DB 내용 정리 Django Project 진행 Django Frameowork 지식 정리 Django 구조 모듈 분석 및 지식 정리 https://yubi5050.tistory.com/53 // 프로젝트 구조 분석 https://yubi5050.tistory.com/55 // Django-admin, manage.py https://yubi5050.tistory.com/54 // 무식한 라이브러리 분해 1 (django.db) https://yubi5050.tistory.com/56 // 무식한 라이브러리 분해 2 (urls, shorcuts, http) https://yubi5..

WIL (~22.09) 2022.06.06

[Django, DB] Migration 초기화 방법 (+window 자동화 code)

초기화 시기 Sqlite DB를 실수로 지워버렸을 때 잦은 model 변경으로 migrations 꼬였을 때 방법 1. Database Server 삭제 (db.sqlite3, mysql, postgresql 등) 2. 각 app들의 migrations/ 폴더 내의 __init__.py를 제외한 모든 파일 삭제 (중요!!) 3. 위 2. 가 진행되면 migrations 폴더와 __init__.py 만 폴더내에 남아 있어야 함. (없으면 진행안됨) 4. 다음 명령어 실행하면 정상적으로 돌아와있는 DB를 볼 수 있다. python manage.py makemigrations python manage.py migrate 자동화 코드 (window ver) Project 폴더 밑에서 python init_db...

Python/Django 2022.06.05

[Django] Message Framework

Django 에서는 사용자 요청에 대한 응답의 일환으로 일회용 메시지 Message Framework를 제공한다. https://docs.djangoproject.com/en/4.0/ref/contrib/messages/ The messages framework | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com Message tags는 DEBUG, INFO, SUCCESS, WARNING, ERROR 5종류가 있다. Me..

Python/Django 2022.06.04

[Django] Django .html .css 분리 방법 (by. Django Template)

👉 1. CSS 분리 1) settings.py 에 아래 문구 추가 STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) 2) css 파일 작성 : css/init_page.css 파일을 작성하였다. .init_wrapper{ width:100%; display:flex; } .init_container{ text-align:center; } 3) init.html 에 아래 문구 추가 {% load static %} 👉 2. HTML 분리 (include 문법) 1) HTML 파일 작성 : join.html, login.html, message.html 2) 원하는 곳에 include 문법 작성 {% include 'users/message.html' %}

Python/Django 2022.06.03

TODAY LUNCH 팀 프로젝트 - 1

1. 프로젝트 기간 2022.06.02 (목) ~ 2022.06.13 (월) 2. 팀 구성 김선민, 김민기, 박재현, 황신혜 3. 프로젝트 주제 하루 삼시세끼, “오늘 점심 뭐 먹지?” 고민해 본 사람들이 고민하는 사람들을 위해 만들어 보는 웹 서비스 4. 프로젝트 진행 방식 화면 기획 (Figma) : 링크 (완료) API / DB 설계 (Notion) : 링크 (완료) 일정 관리 (Git Project, 겐트차트) : 겐트 링크 , 깃 프로젝트 링크 기능 구현 관리 (Git Issue) : 링크 5.1 TODAY LUNCH 화면 와이어프레임 작성 및 기능 정의 화면 화면 이름 기능 담당자 첫 화면 - 회원가입 1 필수 기능 회원가입 (장고 validation 기능) Daum 주소 API 사용 김민기 ..

[DB] ORM 이란?

ORM 이란? ORM(Object Relational Mapping)의 약자로 객체와 DB 간의 관계 매핑해주는 개념. 주로 MVC, MVT와 같은 패턴을 가진 프레임워크에서 많이 사용하는 기술 ORM 장점 ORM을 이용해서 DB를 객체 관점에서 쉽게 접근 가능 ORM을 통해 가독성을 높이고, 비즈니스 로직(코드)에 집중하여 생산성을 높임 + 유지보수 ORM을 통해 코드를 바탕으로 SQL Query로 자동 변환하여 데이터 조작 ORM을 통해 객체 간의 관계를 SQL Query Message바탕으로 SQL을 자동으로 생성하여 불일치를 해결 DBMS에 대한 종속성 저하로 대부분의 ORM 솔루션은 DB에 종속적이지 않을 수 있다. ORM 단점 쿼리가 복잡해지면 사용하기 어려움 (통계, 데이터분석 등) ORM ..

DB/이론 2022.06.02

[Django] Admin으로 Table 관리하기

1. Project 및 APP 생성 $ django-admin startproject custom_admin $ cd custom_admin $ django-admin startapp app1 2. custom_admin / Settings.py APP 추가 INSTALLED_APPS = [ ... 'users', ] 3. app1 models.py 작성 - Django에서 미리 만들어놓은 User Table(AbstractUser)을 상속 받아 사용. - etc_text 라는 필드 추가 생성 from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class UserM..

Python/Django 2022.06.01

[Django] 무식한 라이브러리 분해 3 (contrib)

Django.contrib Django.contrib 사용자에게 필요한 다양한 추가 옵션 도구 목적의 패키지이다. 관리자 인터페이스, 인증, 지리, 세션 등의 다양한 기능을 제공 링크 : https://docs.djangoproject.com/ko/4.0/ref/contrib/ contrib packages | Django 문서 | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com Django. contrib contrib/ - django.contrib.admin..

Python/Django 2022.05.31

[Django] 무식한 라이브러리 분해 2 (urls, shorcuts, http)

Django.url Django는 외부에서 들어오는 요청에 대해 WSGI, ASGI 등의 Middleware를 거쳐 urls에 요청이 도착하게 된다. Django.url url/ - resolver.py : 해당 path가 url pattern인지, router pattern 인지 등 확인 - conf.py : path(내부 view path) 함수, include(내부 app path) 함수 Django.shortcut, Django.http Django는 Request에 대해 사용자에게 render(), redirect(), httpresponse() 등으로 Response 대응 한다. Django.shortcut shortcuts.py - def render() : 일반적으로 page(.html) ..

Python/Django 2022.05.31