코딩/Django 21

장고 심화내용 이번주에 배운것들 정리

무상태 프로토콜 http는 stateless 하다 매번 요청할 때마다 세션 로그인은 상태가 있다. 최소한으로 사용한다는 개념. 비연결성 요청시마다 연결을 유지하면 클라이언트가 연결을 하면할수록 서버가 터짐 연결유지 하지않는 http 초단위 이하 빠른 응답 HTTP 메세지 리퀘스트 메세지 request line , header, a blank line, body 리스폰스 메세지 status line, header, a blank line , body HTTP 메소드 안좋은 설계 /read-member-list /read-member-by-id 안좋은 이유 레스트풀하지 않다. 기능마다 메소드별로 구별해주는것이 아니라 url이 점점 늘어감 리소스 식별 중요! 리소스란? 회원이라는 개념 자체가 리소스다 이것이 ..

코딩/Django 2023.04.23

토큰 세션 특강

강민철 강사님 필기 토큰기반 로그인, 세션기반 로그인 JWT 기반의 서비스 장고에서 토큰인증을 어떻게 구현할지? 세션과 토큰의 차이점 , 특징 , 필요성에 대해 알아야 한다. 각각의 사용처를 알고 왜 쓰는지 아는 것이 중요 1. Session 인증 2. Token 인증 Django 개발자 뿐 아니라 모든 백엔드 개발자의 기본 소양 1. 인증 - 회원가입, 로그인, 로그아웃, 회원관리, 탈퇴 -- 세션/ 토큰(JWT) 2. DB관리 - ERD, 쿼리셋, 3. Request에 따른 Response 처리 (API 개발) // 실무에선 이걸 더 많이 씀 4. 배포 - 나중에 배울예정 세션인증 모든 유저의 정보와 세션 정보를 서버에서관리 장고 세션이라는 테이블 세션 키 안에 값이 세션 밸류 쿠키 - 세션 아이디,..

코딩/Django 2023.04.21

장고

Ajax 비동기 자바스크립트 기술들이 나와서 작은 부분만 업데이트 요청을 함 프론트엔드의 엔들러 리엑트(높은 확률) 뷰 템플릿들은 대부분 프론트엔드의 기본 ajax 방식을 이용해서 사용한 방식들이 장고를 쓰는 방식들과 조금 달라짐 템플릿 , 템플릿 랭귀지 쓰지않음 >>> 바닐라 자바스크립트만 사용해서 배우게 됨 프론트엔드와 백엔드 어떻게 통신할 거냐 ? render 가 아닌 장고 레스트 프레임워크 >>> 단순함 HTTP 웹의 흐름의 방식 https://www.namver.com . 뭐 이런식으로 요청 겟 요청을 통해서 보냄 HTTPS를 호스트에 터미널에 명령어를 치면 html과 쿠키를 줌 , 터미널로 인터넷을 할 수 있다>? 웹브라우저의 역할을 여기서 많은 정보를 더해서 보내주고, 또한 서버에서 받은 정..

코딩/Django 2023.04.20

장고 프레임워크에 대한 고찰

이번주 장고 프로젝트를 진행하면서 느낀점은 플라스크로 직접 만들어야 했던 기능들이 장고에서는 이미 만들어져 있어서 정말 편하고 좋았다는 것이다. 그러나 어려웠던 점도 있었는데 1. 각각의 툴을 검색해서 쓰는데 조금 변형해서 오류가 났을 떄 수정하는 것이 힘듬 2. 장고 html 이 어떤 문법으로 쓰여지는지 조금 햇갈림 3. 파일이 많아서 처음 보면 햇갈림 이러한 어려웠던 점들이 있었다. 그러나 그를 상쇄할 많은 장점들이 있었기에 다시 웹페이지를 개발한다면 장고를 사용할 것이다. DB에서 어떻게 데이터 구조를 만들것인지는 어려운 일이다. 어떤 식으로 데이터를 만들어서 꺼내보기 쉽게 할 것인가에 대한 고민으로 프로젝트에서 대부분의 시간을 소비했다. 처음 설계한 구조가 프로젝트를 진행하면서 점점 발목을 잡아 ..

코딩/Django 2023.04.17

Django 모델 설계

Django를 데이터베이스 없이 쓸수 있더라도 데이터베이스 레이아웃을 파이썬 코드로 표현할 수 있는 object-relational mapper 가 같이 딸려옴 데이터베이스를 자동으로 생성해주는 Django command-line 유틸리티 $ python manage.py makemigratilns $ python manage.py migrate makemigration 명령은 생성 가능한 모델을 찾아 테이블이 존재하지 않으면 마이그레이션을 생성 migrate 명령은 마이그레이션을 실행하고 사용자의 데이터베이스에 테이블을 생성 , //데이터베이스 스키마, 관계형 데이터베이스에서 데이터가 구조화되는 방식을 정의 여기에는 필드, 데이터유형, 그이고 이러한 엔티티(개체)간의 관계등 논리적 제약조건이 포함 스키..

코딩/Django 2023.04.12

장고 프로젝트 해설, feat 포스트맨

포스트맨으로 시연 하겠다. 포스트맨: html에서 장고에서 리퀘스트를 보낼때 그걸 대신해주는 프로그램 프론트를 대체해서 사용한다. 워크스페이스 생성해서 공유할 수 있다. 협업할 때 씀 가장먼저 할 일 venv 생성 pip install django pylint 와 오토패팔 django admin startproject musinsa . 뒤에 점 찍는 이유는 새로운 폴더를 만들지 않겟다. 현 경로에서 만드냐 기본적인 세팅은 되었다. 모델링 장고 모델링 , 입출고 합산기능 python manage.py startapp user python manage.py startapp product settings.py 에 인스톨드 앱스에도 추가 django-admin startapp testz 구조를 만들고 코드를 짬..

코딩/Django 2023.04.10

장고에서 form 과 model 은 어떻게 다른가

Django 에서 Form 과 Model은 서로 다른 개념이다. model 의 경우 데이터베이스의 테이브로가 1대 1로 대응되는 클래스이다. 모델은 데이터를 검색하기 위해 사용된다. form은 사용자 입력을 처리하고, 이를 적절한 형식으로 변환한 후, 저장하거나 화면에 보여주기 위해 사용된다. Django에서 Form은 HTML의 Form 과 유사하게 작동되며, 사용자로부터 데이터를 입력받는 기능을 수행한다. Form을 사용하면 사용자 입력 데이터의 유효성 검사를 쉽게 수행할 수 있다. Django에서 Form을 사용하는 방법은 다음과 같다. 1. forms.py 에 Form 클래스 정의 from django import forms class MyForm(forms.Form): name = forms.C..

코딩/Django 2023.04.07

장고 2 주차

Django 를 실행시키고 관리하기 위한 명령어 Django 의 ORM 을 알아보기 Database 와 연동하여 사용 Admin 기능 알아보기 사용자 모델을 만들고 사용자 관리 기능을 구현 (회원가입 / 로그인) 프로젝트 구조 만들기 지난주차에 한것 -> 기본적 기능들 그냥 구현하기 프로젝트 구조; 장고의 각 파일들이 어떤 역할을 하는지 알아보자 User, Url, View, Model, DB Url, View 에서 주로 작업 구현할 기능 사용자 관리 글쓰기 친구만들기 사용자 / 글 django-admin startapp 데이터베이스와 장고 ORM =

코딩/Django 2023.04.04