본문 바로가기
728x90
반응형

Django10

(Django) Template에서 Session값 이용하기 views.py 에서 세션을 참조하려면, 아래와 같이 사용하지만, Template 에서는 같은 문법을 사용할 수 없다. request.session['세션이름'] = '값' Template에서 Session을 이용하는 방법을 알아보자. settings.py 에 다음을 추가한다. TEMPLATE_CONTEXT_PROCESSORS = ( 'django.core.context_processors.request', ) views.py 에서는 render 함수를 이용해서 리턴한다. return render(request, 'session_test.html') Template에서는 아래와 같이 사용한다. {{ request.session.세션이름 }} 2013. 9. 21.
(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.
(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.
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.
(Django) Debian/Ubuntu + NginX + trunserver + Django 1.3.1 + Python 2.7.2 Django를 Deploy하기 위한 여러가지 방법들을 소개했었는데, 이번 방법이 내가 가장 선호하는 방식이다. Instance 별로 정상동작 유무를 확인하기가 쉽고, NginX 에서는 로드밸런싱을 하고, 하나의 Instance 에 문제가 발생하면 자동으로 제외되어 무장애/무중단 서비스를 제공할 수 있다.여기에서 더 나아가 memcached 등을 이용하여 캐싱까지 처리하면 성능에서도 상당히 만족스러운 결과를 볼 수 있을 것이다. 또한, trunserver 조작에 대해서 개선할 부분이 많이 있다. 이런 부분들은 다음에 생각해보고, NginX와 trunserver 를 이용한 방법을 살펴보자.Install Python$ apt-get install zlibc zlib1g-dev libxml2 libxml2-de.. 2011. 12. 20.
728x90
반응형