[BE] Django 프로젝트
Django: Flask 보다 구조화
Framework vs library: Django vs jQuery
MVC pattern( django: MTV )
model.py: 데이터 다룸
templates: html로 보여줌
view.py: 로직 다룸 ⇒ urls.py에서 path경로 설정.
venv (가상환경) 설정
python -m venv venv
.\venv\Scripts\activate
pip install django
pip install djangorestframework
pip install djangorestframework-simplejwt
pip freeze > requirements.txt
django-admin
django-admin startproject shinhanapp
cd shinhanapp
python manage.py startapp member
python manage.py runserver
python manage.py makemigrations → migrations폴더만들어 model 데이터 실행코드 만들어줌
python manage.py migrate → 실행코드 실행
django는 sqlite데이터베이스를 사용( query로 만들어줌) ⇒ ORM
Making queries
.filter(name__contains=”테스”)
.filter(age__gte=35)
…
https://docs.djangoproject.com/en/4.1/topics/db/queries/
BootStrap
css, js 코드 호출
src="<<a href=https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js>https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js</a>>"
api 호출
jquery cdn jQuery Core 3.6.3 - uncompressed, minified 둘 중 하나 복사해서 <script src에 복사.
static 파일 밑에 script.js 파일을 만들어준후 아래의 jQuery 문을 생성
jQuery(document).ready(function (){
$(".list-group-item-action").click(function () {
alert("Hello");
})
})
html에서 script src로 script.js 파일을 불러와 준다.
CORS : 프론트와 백엔드 주소가 다를때 브라우저가 막는것
해결방법 https://pypi.org/project/django-cors-headers/
pip install django-cors-headers ⇒ settings app, middleware등록
header에 JWT 토큰 전달하는 법
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "JWT " + $("#token").val());
},