728x90
반응형
Django 의 내장 authentication 모듈을 사용하지 않는 경우, 직접 제작을 해야 하는데, login_required 라는 데코레이터가 없어서, 매번 View 에서 접근 로직을 작성해주어야 해서 번거로웠다. 아래와 같이 별도의 데코레이터를 작성해두면 로직이 바뀌더라도 하나만 변경하면 되니까 코드 관리가 좀 더 편할 것이다.
def login_required(function=None):
def _dec(view_func):
def _view(request, *args, **kwargs):
# 아래 로직을 적당히 자신의 사이트에 맞게 고쳐서 쓰면 될 것이다.
if "login_yn" not in request.session:
return HttpResponseRedirect('/')
else:
return view_func(request, *args, **kwargs)
_view.__name__ = view_func.__name__
_view.__dict__ = view_func.__dict__
_view.__doc__ = view_func.__doc__
return _view
if function is None:
return _dec
else:
return _dec(function)
728x90
반응형
'Programming > Python' 카테고리의 다른 글
(Python) Disk IO (Write Count) 모니터링 (0) | 2014.12.01 |
---|---|
(Django) Template에서 Session값 이용하기 (0) | 2013.09.21 |
(Python) SAN 스위치 장애 체크 (Telnet) (0) | 2013.03.13 |
(Django) '쉽고 빠른 웹개발 Django' 버전 1.4 이상에서 진도나가기 (0) | 2012.12.20 |
Python : 이미지 파일 일괄 자르기 (0) | 2012.11.28 |