Middleware(2)
-
[Django] Django Middleware
Middleware https://docs.djangoproject.com/en/4.1/topics/http/middleware/ Django의 Request/ Response 처리에 연결되는 프레임 워크로 입출력을 특정한 app단이 아니라 전역적으로 변경하기 위한 가볍고 낮은 수준의 플러그인 시스템이다. Http Request가 들어오면 미들웨어를 거쳐 url에 매핑된 view로 보내고 Response역시 미들웨어를 거친다. Django settings.py 미들웨어간의 유기적인 관계가 설정되어 있기 때문에 등록하는 순서가 중요하다. HTTP Request는 위에서부터 순차적으로 미들웨어가 적용되며 Response를 반환할 때는 아래에서 위로 미들웨어가 적용된다. MIDDLEWARE = [ "djang..
2023.03.16 -
[Error] TypeError: change_view() missing 1 required positional argument: 'object_id'
TypeError: change_view() missing 1 required positional argument: 'object_id' Simplt JWT를 사용해서 미들웨어단에서 처리되도록 로그인 로직을 작성했다. 잘 돌아가는 것을 확인 한 후 다음 이슈를 해결하기위해 어드민 페이지에 접속해 아무 데이터나 클릭한 순간 발생한 에러이다. GET /admin/users/user/1/change/ 해당 url을 보면 어드민 유저페이지의 1번 유저를 수정할 때 발생했다. 유저아이디 1번의 파라미터 값을 읽지 못한것이다. 에러내용을 쭉 보면 내가 작성했던 미들웨어 훅(process_view)에서 발생 하는 것을 알 수 있었다. Middleware Hook 클래스 형식으로 미들웨어를 정의할 때 HTTP requ..
2023.03.16