Advertisements
일반 함수에서는 @login_required 데코레이터를 사용하지만, FormView 같은 곳은 아래와 같이 @method_decorator(login_required … 이런식으로 사용한다.
from django.utils.decorators
import method_decorator
@method_decorator(login_required, name='dispatch')
class CollaboratorView(View):
기본적인 함수 사용법은 많이 있지만, Formview 마다 로그인이 안되었을 때 각각 다른 페이지로 보내고 싶을 때가 있다. 이때 페이지를 지정하는 방법을 검색해서 남겨둔다.
@method_decorator(login_required(login_url="login_message"), name="dispatch")
class ShippingProductFWUpdateView(BSModalUpdateView):
- login_url=”url이름” 을 파라메터로 넣어주면 된다.
- 물론 url이름 에 정의된 부분은 url.py 등에 아래처럼 정의가 미리 되어 있어야 한다.
urlpatterns = [
path("", index, name="index"),
...
path("login_message", login_message_view, name="login_message"),
참고 페이지
- 여기 썼던 해결책 찾은 페이지 – https://stackoverflow.com/questions/3578882/how-to-specify-the-login-required-redirect-url-in-django
- 한글 자료, 페이지 권한 관련된 내용이 잘 정리되어 있음 – https://velog.io/@ansalstmd/Django2-13.-Decorator-페이지-권한-쉽게-설정하기o2-13.-Decorator-페이지-권한-쉽게-설정하기-feat.페스트캠퍼스
Advertisements