막 적는 Django 4탄(middleware,null)

samdaso-o·2021년 7월 22일
1

Django

목록 보기
6/9

middleware란?
http 요청 & 응답 처리에 연결되는 프레임워크이다. django의 입출력을 전체적으로 변경하기 위한 경량의 저급 '플러그인'시스템이다.


출처:https://docs.djangoproject.com/ja/1.9/topics/http/middleware/#middleware
미들웨어는 위의 그림과 같이 요청과 응답시 각각 위아래로 작동한다.

django에서는 프로젝트 시작시 기본적으로 제공하는 7개의 middleware가 있는데 아래의 사진과 같다.

1번째 securitymiddleware은 요청 및 응답의 보안기능을 제공한다. xss(자바스크립트사이에 정보를 끼워넣는 공격행위)_Fileter, HTTPS만 엑세스 가능하도록 설정등등 보안관련된 기능을 제공

2번째 SessionMiddleware는 익명 세션 제공하는 설정, 사이트 방문자별 임의의 데이터를 저장하고 검색 가능, 서버측에 데이터를 저장하고 쿠기의 송수신을 추상화한다.

3번째 commonMiddleware는 도메인과 url에 밀접한 관계를 가지고 있다. url작성시 /를 자동작성을 해주다던지 www.이후로 작성에 도움을 준다던지

4번째 Csrfviewmiddleware는 csrf보안관련기능을 제공한다.

5번째 authenticationmiddleware는 로그인 인증서비스 관련 기능을 제공한다.

6번째는 이름 그대로 메세지 관련 기능 설정

7번째는 클릭재킹 방지를 위한 보호 기능 제공


models.py에서 null값 설정하기

models.py에서 데이터베이스를 작성하면서 null값을 설정할 수 있다. default값으로 null=False값이 들어가있는데, 이 값을 null=True값을 넣어주면 된다.
ex)

-null과 block의 차이점?
null과 block은 둘 다 값을 받지 않아도 테이블이 작성된다는 속성을 가지고 있다.
하지만 Null은 값이 들어오지 않으면 테이블에 null이라는 데이터가 입력되지만, block은 테이블에서 빈칸으로 존재한다.

profile
ㅎㅅㅎ

0개의 댓글