Пример #1
0
def listSearchedSpecificPageWork(request):
    searchStr = request.GET['searchStr']
    pageForView = request.GET['pageForView']

    # 다음은 테이블에서 subject 항목에 대해 LIKE SQL을 수행한다.
    totalCnt = DjangoBoard.objects.filter(subject__contains=searchStr).count()

    pagingHelperIns = pagingHelper();
    totalPageList = pagingHelperIns.getTotalPageList( totalCnt, rowsPerPage)

    # Raw SQL에 like 구문 적용방법.. 이 방법 찾다가 삽질 좀 했다.
    boardList = DjangoBoard.objects.filter(subject__contains=searchStr).order_by('-id')[int(rowsPerPage)*(int(pageForView)-1):int(rowsPerPage)*(int(pageForView)-1)+int(rowsPerPage)]

    print 'boardSearchedList', boardList

    return render_to_response('listSearchedSpecificPage.html', {'boardList': boardList, 'totalCnt': totalCnt,
                                                        'pageForView':int(pageForView) ,'searchStr':searchStr, 'totalPageList':totalPageList} )
Пример #2
0
def home(request):       # model을 이용해서 별도 SQL 작성 없이 id 필드의 역순으로 (-id) 데이터를 2개만 조회해온다.
    boardList = DjangoBoard.objects.order_by('-id')[0:rowsPerPage]
    current_page =1

    # model 을 사용해서 전체 데이터 갯수를 구한다.
    totalCnt = DjangoBoard.objects.all().count()

    # 이것은 페이징 처리를 위해 생성한 간단한 헬퍼 클래스이다. 별로 중요하지 않으므로 소스를 참조하기 바란다.
    pagingHelperIns = pagingHelper();
    totalPageList = pagingHelperIns.getTotalPageList( totalCnt, rowsPerPage)
    print 'totalPageList', totalPageList

    # 템플릿으로 필요한 정보들을 넘기는 부분이다. 이를 통해서 정적인 템플릿에 동적인 데이터가 결합되게 되는 것이다.

    # 우리는 게시판 최초 화면 처리를 위해서 listSpecificPage.html 템플릿을 호출했다.
    # 그리고 필요한 정보들을 dictionary 로 전달했다.
    return render_to_response('listSpecificPage.html', {'boardList': boardList, 'totalCnt': totalCnt,
                                                        'current_page':current_page ,'totalPageList':totalPageList} )
Пример #3
0
def listSpecificPageWork(request):
    current_page = request.GET['current_page']
    totalCnt = DjangoBoard.objects.all().count()

    print 'current_page=', current_page

    # 페이지를 가지고 범위 데이터를 조회한다 => raw SQL 사용안함
    boardList = DjangoBoard.objects.order_by('-id')[int(rowsPerPage)*(int(current_page)-1):int(rowsPerPage)*(int(current_page)-1)+int(rowsPerPage)]

    print 'boardList=',boardList, 'count()=', totalCnt

    # 전체 페이지를 구해서 전달...
    pagingHelperIns = pagingHelper();
    totalPageList = pagingHelperIns.getTotalPageList( totalCnt, rowsPerPage)

    print 'totalPageList', totalPageList

    return render_to_response('listSpecificPage.html', {'boardList': boardList, 'totalCnt': totalCnt,
                                                        'current_page':int(current_page) ,'totalPageList':totalPageList} )
Пример #4
0
def ssnview(request):

	boardList = SSNBoard.objects.order_by('-id')[0:rowsPerPage]
 	current_page =1

	totalCnt = SSNBoard.objects.all().count()

	pagingHelperIns = pagingHelper();
	totalPageList = pagingHelperIns.getTotalPageList( totalCnt, rowsPerPage)
	print 'totalPageList', totalPageList

	context = {
		'boardList': boardList, 
		'totalCnt': totalCnt,
		'current_page':current_page,
		'totalPageList':totalPageList
	}

	return render(request, "ssnview.html", context)
Пример #5
0
def DeleteSpecificRow(request):
    memo_id = request.GET['memo_id']
    current_page = request.GET['current_page']

    p = DjangoBoard.objects.get(id=memo_id)
    p.delete()
    
    # 마지막 메모를 삭제하는 경우, 페이지를 하나 줄임.
    totalCnt = DjangoBoard.objects.all().count()
    pagingHelperIns = pagingHelper();

    totalPageList = pagingHelperIns.getTotalPageList( totalCnt, rowsPerPage)
    print 'totalPages', totalPageList

    if( int(current_page) in totalPageList):
        print 'current_page No Change'
        current_page=current_page
    else:
        current_page= int(current_page)-1
        print 'current_page--'

    url = '/listSpecificPageWork?current_page=' + str(current_page)
    return HttpResponseRedirect(url)