전반적인 흐름 리뷰
Django
-> urls(root) -> view function -> HttpResponse
DB (Model)
HTML (Template)
Static file link (STATICFILES_DIRS)
view function
요청을 DB, Template과 연동해서 처리
models.py
DB구조 설계
DB접근할 수 있도록 도와줌 (ORM)
templates/*.html
특정 정보가 들어왔을 때, 사용자에게 보여줄 내용을 정의
MVC모델
Model : 데이터
View : 사용자에게 표시되는 영역
Controller : 데이터를 사용해 사용자에게 돌려줄 내용을 처리
MTV모델
Model
Template
View
MVC 와 MTV 모델은 정확히 일치하지만 View가 다른 역할을 한다는데 포커스
linebreaksbr
-> html쪽에서 알아서 엔터치는 효과.
- template 확장기능
- 같이 사용하지 않는 부분만 block처럼 만드는것.
1. html 들의 공통된 내용만 base.html 에 남겨놓음.
2. 각 html 파일에 공통된 내용은 다 제거 하고 내용을 입력해야 되는 부분은 아래와 같이 작성
{% block content %}
'html 내용'
{% endblock %}
추상화 : 내부적인 동작이 감춰진것.
CSRF
CSRF
은행
송금하기 (bank.com/send/)
form POST method
금액
상대계좌
유저ID
form에 비밀값 (매번 새로생성)
-> 유저 상대에게 금액을 보냄
은행 피싱사이트 (bbank.com)
송금하기
form POST method -> (bank.com)
금액 //999999999999
상대계좌 //hacker
유저ID
request -> (middleware) -> view -> response
CSRF 관련문서 https://ko.wikipedia.org/wiki/ 사이트 간 요청 위조 https://namu.wiki/w/CSRF https://docs.djangoproject.com/en/2.0/ref/csrf/
Django공식문서 - CSRF (How it works) https://docs.djangoproject.com/en/2.0/ref/csrf/#how-it-works
Comments