728x90 반응형 Programming/Python29 (Django) login_required 데코레이터 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: .. 2013. 5. 28. (Python) SAN 스위치 장애 체크 (Telnet) 이번에는 Python 에서 SAN 스위치 장애를 체크하는 스크립트를 만들어보았다. Perl 의 경우와 거의 같다. Python 2.7.3 에서 테스트하였으며, pymssql 를 별도로 설치해야 한다. # -*- coding: cp949 -*- # ------------------------------------------------------------------------------ # (1) SAN 스위치의 Telnet에 연결하여, switchstatusshow 명령의 결과에 따라서 # HEALTHY 가 아니면 장애로 간주하고 담당자에게 문자메시지를 보낸다. # # (2) 하루에 1번 작동한다. # # Python Version : 2.7.3 # # [필요한 패키지] # easy_install pym.. 2013. 3. 13. (Django) '쉽고 빠른 웹개발 Django' 버전 1.4 이상에서 진도나가기 '쉽고 빠른 웹개발 Django'은 1.0버전 기준이어서 최신버전 (1.4.3)에서 막히면 진도를 더이상 나갈 수 없게 됩니다. 이에, 최신 버전에서도 진행할 수 있도록 변경된 부분을 반영하여 수정본을 작성해보았습니다. 1.4 이후 부터 디렉토리 구조가 조금 변경이 되었는데, 대부분 이 것 때문에 기존버전과 맞지 않는 부분이 생기는 것입니다. 추후 더 변경할 것이 발견되면 추가하도록 하겠습니다. P. 15 Beforedjango_bookmarks/ __init__.py manage.py settings.py urls.pyAfterdjango_bookmarks/ manage.py django_bookmarks/ __init__.py settings.. 2012. 12. 20. Python : 이미지 파일 일괄 자르기 ImageMagick 을 이용하여 이미지 파일들을 일괄로 Crop 하는 스크립트이다. ImageMagick 모듈을 이용하지 않고, convert 툴을 이용하여 구현하였다. 이번엔 급한대로 써야 해서 대충했지만, 다음에는 관련 모듈을 이용해서 제대로 해봐야겠다.관련 모듈Wand is a ctypes-based ImagedMagick binding library for Python.PythonMagickWand is an object-oriented Python interface to MagickWand based on ctypes.PythonMagick is an object-oriented Python interface to ImageMagick. import os, glob, shutil # 원하는 사.. 2012. 11. 28. Django 1.4 에서 Template 디렉토리 설정 Django 1.4 에서 가장 큰 변화라면, 전체 어플리케이션의 레이아웃이 바뀌었다는 점이다. 이전 버전에서는 프로젝트를 생성하면 아래와 같이 파일들이 생성되었다. project_name/ `- __init__.py `- manage.py `- settings.py `- urls.py `- wsgi.py 1.4에서는 이렇게 바뀌었다. project_name/ `- manage.py `- project_name/ `- __init__.py `- settings.py `- urls.py `- wsgi.py 여기에서 주의 깊게 볼 것은 상위에 있는 project_name 디렉토리에는 __init__.py 파일이 없기 때문에 패키지명으로 사용할 수 없다는 것과 settings.py 에서 템플릿 디렉토리를 지정할.. 2012. 4. 9. Django 마이그레이션 1.3.1 -> 1.4 이번에 Django 기반으로 서비스하는 시스템을 1.3.1 에서 1.4 로 마이그레이션하였다. settings.py 에서 다음 2가지를 변경해주니, 잘 동작되는 것 같다. 사실, 이 외에도 몇가지 있으나, Django 가 불평은 하지 않았다. 그래도 미래를 위해서 미리 바꾸어주는 것이 좋을 것이다. https://docs.djangoproject.com/en/dev/releases/1.4/를 참고해서 시도해보자. DATABASE # 변경전 DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_NAME = '디비이름' DATABASE_USER = '사용자' DATABASE_PASSWORD = '비밀번호' DATABASE_HOST = '호스트' DATABASE_PORT = .. 2012. 3. 27. 이전 1 2 3 4 5 다음 728x90 반응형