본문 바로가기
AI, 머신러닝, 딥러닝, 데이터 분석

Django restful

by 포로리다 2023. 10. 18.
728x90
반응형
SMALL

앱 크롤링 : 디컴파일(기계어를 코드로 바꾸는 것) 후 리퀘스트 찾아서 바꾸기 방식으로 진행 가능함

——pyche....—— 의미없는 파일이므로 깃허브 올릴 때 빼고 올리는 게 좋음.

 

로그인

패스워드는 평문으로 저장하면 안 됨. charfield로 주는 편

암호화는 단방향 해싱, 같은 문자열이 들어가면 항상 같은 결과가 나옴

로그인할 때 내가 입력받은 문자열을 해싱(암호화)하여 DB에 있는 암호화된 데이터와 비교하여 일치 여부 비교 ⇾ autenticate

 

미니 프로젝트에서 AJAX를 사용함

사용자가 웹페이지 로딩시간이 길어지면 이용을 안 함. 

1. 네트워크 환경이 안 좋은 경우

2. 데이터 전송양이 많을 때 <- 기업이 바꿀 수 있는 것은 이것 뿐

정치 빼고 축구나 여러 주제를 가져와서 토론 시켰으면 재밌을 것 같다고 생각했음.

 

csrf_protect 

csrf가 여러 개 들어가면 비효율적,  넣지 않아도 어차피 자동으로 검증함

 

지향점은 비지도 학습

Top K 도 유사도 계산, 분류도 유사도 계산 -> 벡터라이징 해야 함.

방향이 비슷한 것을 찾음. 


RESTful API 

 

https://www.django-rest-framework.org/

 

GET POST DELETE로 요청/응답에 대한 정보

네이버API - 빅데이터 검색 결과 - GET요청

 

View 화면에 보여주는 영역

 

장고의 Form 요즘에 common하게 잘 쓰지는 않음.

 

장고 DRF?

Django Rest Framework

 

장고를 활용 REST API 를 쉽게 구현할수있다

일반 장고의 model, view 등 대부분 기능을 활용

 

객체 Serializer 기능 json으로 뽑아주는 기능

다양한 DREF 전용 View

유효성검사 (Validation을 위한)

다양한 포맷의 Renderer 제공

인증 및 권한 - JWT 지원

 

토큰을 저장하는 것도 바꿀 수 있음.

 

where.exe python 파이썬 위치 찾기 


python manage.py startapp 
account    - account app 폴더 생성

장고 DRF 세팅

pip install djangorestframework

 django-admin startproject 프로젝트명

Django 로그인 기능 구현 - 유저 모

python manage.py makemigrations 

python manage.py migrate

 

- drf_study\urls.py 파일의 상단 부분에 include 코드 추가 필요

from django.contrib import admin
from django.urls import path, include

 

requirements.txt


pip freeze 설치된 버전 확인

pip freeze > reqirements.txt  : 파이참에 txt 파일 생성됨

conda env export > environments.yml  동일하게 설치됨

 

settings.py 파일은 깃허브에 함부로 올리면 password같은 중요 정보 노출되므로 주의 필요. 

.git ignore 로 올리면 안 되는 파일에 표시해 놓아야 함

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 

개발서버는 내 로컬

 

settings 폴더 생성 후 파일 3개 생성.

셋팅 내용 전체 복사 후 커먼 파일에 복붙

셋팅 파일 삭제 필요

커먼파일에서 시크릿 키와 데이터베이스 정보를 local.py에 복붙

 

매니지 파일의 local 추가

 

 

.gitignore 파일 생성하여 우측 코드 작성해 줌. 

 

 

 

 DB에 데이터가 없어서 빈 리스트가 나오고 있는 것임.-> 데이터 추가 필요

admin에서 DB 직접 추가해 줌

https://www.postman.com/ 가입, 다운로드

 

response로 전송될 수 있는 것은 두 가지

1. 텍스트 -  string 메시지 포맷 = 메시지 형태로 포맷팅된 string(json, ... )

2. 바리너리 파일

*(리스트나 딕셔너리는 파이썬밖에 없음)

Q. score 모델을 추가해주세요.

학생들은 총 여러번의 시험을 볼 수 있습니다.

컬럼을 english, math, science에 대한 점수를 기록할 수 있고, 어떤 학생이 언제 본 시험인지도 기록해주세요.

 


위로 갈수록 자유도가 높음

 

728x90
반응형
LIST