반응형

아카이브 178

Django - path, re_path, 정규표현식

Django 1.x 버전에서의 django.conf.urls.url()의 대한 사용법이 path()와, re_path()로 나누어졌습니다. re_path() - django.conf.urls.url()와 동일 path() - Django가 기본적으로 제공하는 Path Converter를 통해 정규표현식 기입이 간소화되었습니다. 기본 제공되는 Path Converter IntConverter - r"[0-9]+" StringConverter - r"[^/]+" UUIDConverter - r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" SlugConverter (StringConverter 상속) - r"[-a-zA-Z0-9_]+" Path..

아카이브 2020.03.25

웹 캐시(WEB Cache)

캐싱(Caching) - application의 속도를 향상 시켜주는 방법중 하나로, 이미 가져온 데이터나 계산된 결과값을 복사본으로 저장 이를 통해 향후 요청을 더욱 빠르게 처리 할 수 있도록 해줍니다. 대부분의 program은 동일한 데이터나 명령어에 반복하여 액세스 하기 때문에 캐싱은 효율적인 아키텍처 패턴으로 볼 수 있습니다. 웹 캐시(WEB Cache) - 사용자(client)가 웹 사이트(server)에 접속할 때, 정적 contents(img, js, css)들을 특정 위치(client, network... 등)에 저장합니다. 이후 동일한 URL의 웹 사이트 접속 시 , 해당 컨텐츠들을 매번 요청하는 것이 아니라, 특정 위치에서 불러옴으로써 응답시간을 줄이고, 서버 트래픽을 감소시키는 효과를..

아카이브 2020.03.15

Django Pagination - 페이지네이션

Django 개발시 흔히 사용하는 Pagination을 구현할 수 있는 3가지 방법을 다뤄보았습니다. (진행중인 프로젝트 코드를 바탕으로 진행하였습니다) 첫번째는 Python 코드와 Template tag를 활용한 방법입니다. views.py def all_rooms(request): page = request.GET.get('page', 1) page = int(page or 1) page_size = 10 limit = page_size * page offset = limit - page_size all_rooms = Room.objects.all()[offset:limit] page_count = ceil(Room.objects.count() / page_size) return render(requ..

아카이브 2020.03.13
반응형