4월, 2015의 게시물 표시

[uscript] 9장. 조회 화면 만들기

조회 화면을 가장 마지막에 한 것은 기능이 가장 복잡해서이다. 원래는 처음에 간략히 조회하는 기능을 구현하고 뒤에서 개선하는 방향으로 작성하려고 했는데 이미 만들어진 소스를 가지고 하다보니 가장 나중에 넣게 되었다. 조회 기능은 1. 페이지 기능 2. 검색기능이 들어간다. URL엔 root 에서 search_page 함수를 호출하기로 정의하였다. url(r'^$', views.search_page, name='index'), from django.core.paginator import Paginator from django.db.models import Q ITEMS_PER_PAGE = 10 PAGE_GROUP = 10 def search_page(request): scripts = [] query_type = 'title' if request.POST.has_key('query_type'): query_type = request.POST['query_type'] query = "" if request.POST.has_key('query'): query = request.POST['query'].strip() if query: keywords = query.split() q = Q() for keyword in keywords: if query_type == 'title': q = q & Q(title__icontains=keyword) elif query_type == 'contents': q = q & Q(