inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

ModelForm

decorator 관련 질문 드립니다.

220

BD

작성한 질문수 3

0

안녕하세요 

강의 너무 유익하게 잘 보고 있습니다 .

이번 ModelForm 편을 보면서 

힌트 주신대로 작성자를  구분하는 decorator을 작성 해보았습니다 .

 

그런데 이것을 views.py 에 작성을 했는데 

어디론가 빼야 할 거 같은데 

이것을 장고의 decorator.py 파일로 첨부해 넣는게 좋은지 

아니면 app 을 하나 생성해서 넣는게 좋은지 어떤 방식이 좋을지 한번 여쭙고 싶습니다 .

 

그리고 

글을 수정하러 들어오는 사용자가 본인이 아닐시에

redirect 해주는 것과 PermissionDenied 처리 해주는 것중

어떤 것이 보안이나 효율면에서 좋은지 여쭙고 싶습니다.

 

처음으로 교수님 힌트를 얻어 decorator을 만들기를 시도했는데 의도한대로 기능이 작동하니 아주 기분이 좋습니다 .

 

감사의 말씀으로 질문을 끝내겠습니다 :)

감사합니다.

django python docker react

답변 1

0

이진석

안녕하세요.

직접 장식자를 만드셔서 의도하신 대로 잘 동작하신다니, 저도 무척 기쁘네요. 감사합니다. :-)

질문에서 redirect를 하는 것과 PermissionDenided를 하는 것에서 보안/효율의 차이는 없습니다. 이는 단지 UX 이슈로서, 화면을 어떻게 설계하느냐의 문제라고 봅니다.

본인의 포스팅이 아닌 포스팅 수정 페이지로 들어오는 경우는, 브라우저에 URL을 직접 쳐서 들어오는 경우가 아닐까요? 대개 포스팅 수정 버튼을 클릭해서 수정 페이지로 들어갈테고, 본인의 글이 아니면 수정 버튼도 보여지지 않을테니깐요.

그러니 브라우저에 URL을 직접 쳐서 들어오는 경우는 바로 redirect를 시키기보다, PermissionDenied를 통해 경고 화면을 보여주는 것이 유저에게 시각적으로 강력하게 메세지를 전달할 수 있을 테구요. 화면에 대한 개발 공수는 들겠죠.

반면 redirect는 화면을 따로 개발할 필요없이, messages framework를 통해 에러 메세지만 보여질테니 개발공수는 적게 들겠죠.

화이팅입니다. :-)

0

BD

감사합니다!! :)

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

285

1

useEffect 훅에서 else 유무에 따른 결과

0

222

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

390

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

276

1

bootstrap4

0

481

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

374

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

578

3

useState는 필수일까요?

0

272

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

611

4

Django allauth를 사용한 소셜 로그인 시 에러

0

660

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

569

2

useLocalStorage() 함수 사용여부

0

238

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

454

1

리듀서의 의미 재확인

0

439

1

simple-jwt Refresh Token 사용 노하우

0

907

2

docker compose 를 통한 배포 관련 오류 문의

0

686

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

372

1

is_like_user

0

238

1

related_name 오류

0

278

1

re_path 오류

0

265

1

re_path url

0

255

1

No post matches the given query

0

671

2