Framework 51

DRF 심화과정 3주차

요약 : 공식문서 열심히 봐라, 토큰의 구조, 역할에 대해 확실히 이해해라. 장고의 구성에 많이 신경써라 3주차 체크리스트 1. 쿠키 세션 방식 로그인과 토큰 방식 로그인의 차이 세션방식은 모든 유저의 정보와 세션 정보를 서버에서 관리함 클라이언트에서 사용자의 인증 정보를 서버에 전달함(로그인 할 때 아이디, 비밀번호를 입력하면 그 값이 서버로 전달된다는 말) 서버는 인증을 처리한 뒤 해당 사용자에 대해 세션을 생성함 세션 정보는 서버에 저장되고 클라이언트는 세션 id를 받아 브라우저(쿠키)에 저장 클라이언트는 이후 요청에 대해 세션 id를 서버에 넘김 서버는 전달 받은 세션 id를 매치되는 저장 중인 세션 정보로 인증을 처리함 만약 세션 id가 만료되었을 경우 1번 과정부터 다시 이루어짐 토큰방식은 토..

Framework/Django 2023.04.23

장고 심화 1주차

개요 DRF(Django Restful Framework), POSTMAN, HTTP 공부 Checklist 1) 프론트엔드와 백엔드의 역할 이해 2) Request와 Method의 역할 이해 3) HTTP Header의 역할 이해 4) state, stateless의 역할 이해 5) HTTP 메세지 구조 이해 6) HTTP 상태코드 역할 이해 7) 웹 요청 흐름 이해 8) Restful한 API 설계 공부 내용 1) 프론트엔드와 백엔드의 역할 이해 웹브라우저 흐름 : DNS 조회 > HTTP 요청 메세지 작성 > socket 라이브러리 통해 전달 > TCP/IP 작성하고 이 안에 HTTP 메세지 포함 프로토콜 : 컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여..

Framework/Django 2023.04.18

VS code 오류[갑자기 가상환경이 작동하지 않는다!]

어제 다른 팀원 분에게서 받은 장고파일을 받고 저장한 다음, 오늘 다시 컴퓨터를 켜서 열어보았는데 venv 가상환경이 멀쩡하지 않은 장면을 확인했다. venv도 작동하지 않고.. 인터프리터도 파이썬이 아닌 전혀 엉뚱한 것으로 실행되고 있었다. 보통 이런 식으로 협업할 때는 파이썬의 버전이 다른 경우가 많은데, 이번이 딱 그 사유였다. 가상환경 활성화 단계와, 인터프리터 재설정 단계로 설정했다. 1. 가상환경 활성화 바로바로 생각나야 하는 source venv/Scripts/activate 여서 눌렀는데 잘 되지 않는 경우가 많다! 이럴 때는 폴더의 위치를 잘 파악해야 한다. jeball 폴더 안에 있는 프로젝트 폴더 안에 venv가 있는데, pwd를 눌러보니 jeball 폴더에서 실행하려고 한 것을 확인..

Framework/Django 2023.04.11

장고 개인 프로젝트 이전 ERD 공부

ERD(Entity Relationship Diagram) : 독립체들 간의 관계를 나타내는 도표(실체 연관도) : 실체와 이들의 관계를 도형으로 표현한 것. 실체의 상관관계 다이어그램은 사용자와 어플리케이션 개발자 간의 자료를 공통적으로 이해할 수 있도록 하는 유용한 매체가 된다.(네이버 사전) ERD를 만든다는 것은 실체를 연관도 내에서 모델링하는 것인데, 모델의 정확한 뜻이 무엇일까? 모델은 어떤 '목적'을 가지고 '진짜'를 '모방'한 것이다. 그렇다면 좋은 모델은 목적에 부합한 모방본이다. ERD는 바로 이런 면에서 부합하는 모델 중 하나라고 보여진다. 표에 정보를 담아 하나의 연관도 안에서 모든 관계(목적)을 보여주는데 와이어프레임을 한 눈에 보기 편하기 때문에 이번 장고 프로젝트에 이 모델을 ..

Framework/Django 2023.04.05

게시글 기능 만들기

이제 이 안에 게시글 기능을 만들 것이다. 게시글 하니 초창기에 만든 POST, GET 기능이 생각난다. 바로 그거를 사용해보려고 한다. 게시글 POST 게시글 내용을 서버로 가져오려고 한다. 이번에는 클라이언트부터 먼저 손을 댈 건데, 이유는 서버 작업에 필요한 정보가 클라이언트에 있기 때문이다. form의 ID값을 나중에 써먹을 것이다. 게시글에 대한 보안 처리를 역시 실행해주었다. {% csrf_token %} 작성하기 그 다음 마찬가지로 urls 부분을 채워주어야 한다. from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('tweet/', views.tweet, ..

Framework/Django 2023.04.04

로그인 이후 기능 다듬기 작업

로그인에는 성공했다. 그건 좋은데... 로그인을 하면 이 넓은 창에 사용자 닉네임 하나만 덩그러니 있다. 이럴거면 왜 로그인했나 싶겠지. 그래서 여기에 기능을 추가해보기로 했다. html 파일 적용 우선 코드스니펫에 있는 html파일을 templates 폴더에 넣었다. 이제 이것을 적용해야겠지. 이번에 만들 앱은 /tweets/다. 그렇기 때문에 tweet에 views.py와 urls.py를 만들고 # tweet/urls.py from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), # 127.0.0.1:8000 과 user/views.py 폴더의 home 함수 연결 path('twe..

Framework/Django 2023.04.04

장고 모델과 사용자 모델 비교, 사용자 모델 업그레이드하기

왼쪽이 장고 기본 제공 테이블, 오른쪽은 사용자가 만든 테이블이다. 그만큼 장고 테이블 내용이 많기 때문에 사실 내 테이블이 필요한가? 싶겠지만 내 테이블에는 'bio'가 있다. 결국 장고에 없는 것도 존재하다는 건데, 그렇다면 이것을 어떻게 합쳐서 업그레이드할까? 사용자 모델 업그레이드하기 모델 업그레이드 목적으로 user/model.py에 들어갔다. 다음과 같이 class의 상속 내용을 먼저 이해하고 수정해보자. #user/models.py from django.db import models # Create your models here. class UserModel(models.Model): # UserModel 클래스를 적용하면 models.Model의 기능을 사용할 수 있다. class Meta..

Framework/Django 2023.04.04

사용자 관리 : 회원가입과 로그인 실습

앞서 파이썬 파일에만 거의 손대었다면, 이번에는 Templates 안에 HTML 파일도 만들어 볼 예정이다. 개인적으로는 파이썬보다 HTML 등에 약해서 어떻게 할지 고민이었지만 일단 고민보단 go라고, 가보자. 다행히 이번에는 html 파일을 코드스니펫에 제공해주셨다. 휴 그래서 파일을 새로 다 생성했더니 이런 형식으로 되었다. 왜 user 폴더를 안에 새로 생성했을까? 생각했는데 일단 추측상으로는 base가 signin과 signup의 부모 class와 같은 역할인가?라는 생각도 들었다. 여기서 나오는 %들은 무엇인가 해서 보았더니, {% extends 'base.html' %} {#base.html이라는 파일 위에 추가하겠다#} {% block title %} {# 파이썬으로 전달하는 문구 (%) ..

Framework/Django 2023.04.04

장고 ADMIN, 웹 발행 과정

ADMIN : 데이터를 넣고, 지우고, 수정할 수 있는 기능이 있음 주소에 /admin을 입력하고 엔터하면 아래 사진이 나온다. 이제 뭔지 알겠으니 다음 작업을 한다. python manage.py createsuperuser 터미널에 다음 작업을 하면 새 계정을 생성할 수 있다. 유저 네임, 이메일, 비번을 등록할 수 있고 그럼 등록이 완료된다. 그래서 그거대로 내 로컬호스트에서 로그인을 하면 요렇게 나온다..! 여기까지 과정을 알아보았다. 데이터에 입력한 부분을 실현하는 것 이제 전 시간에 우리가 데이터베이스에 옮긴 model.py의 클래스부분을 이 화면에 도입할 것이다. 그러려면 admin.py에서 작업해야 한다. from django.contrib import admin from .models i..

Framework/Django 2023.04.03

장고 프로젝트 구조와 데이터베이스 업데이트

url과 view 부분을 우리는 주로 손댈 예정 저번에 공부했던 것을 한 번 더 복습 View : 실질적으로 프로그램이 동작하는 부분, url을 요청하고 그 사이에 일어나는 '서비스'들이 존재하는 곳 이번에는 SNS를 만들어보기로 했다. SNS의 메인 부분을 크게 3가지로 나누어 보았다. 사용자 관리(로그인 ,회원가입, 로그아웃) 글쓰기 친구 만들기 그럼 이제 시작해볼까 그 다음 파일을 위해 user와 tweet 이름의 어플을 만들기 위해 다음과 같은 명령어를 실행해서 폴더에 새로운 것을 만들었다. 이걸 'app'이라고 한다. app이라는 새로운 환경을 만들었으면, 다음 과정으로 setting.py로 들어가서 환경설정을 업데이트 해줘야 한다. 밑에 이런 식으로 적어줘야 한다. 마지막에 콤마는 꼭 찍어야 ..

Framework/Django 2023.04.03