def show(request, section_id, page_number='1'): ''' ''' try: section = Section.objects.get(pk=section_id) article_set = Article.objects.filter(is_published=True, section=section).order_by('-issue__published_at').all() if not section.parent: related_sections = Section.objects.filter(parent=section).all() else: related_sections = Section.objects.filter(parent=section.parent).exclude(id=section.id).all() except: raise Http404 page = None try: page_number = int(page_number) if page_number < 1: raise Exception except: page_number = 1 paginator = DiggPaginator(article_set, 10) try: page = paginator.page(page_number) articles = page.object_list except: page = paginator.page(paginator.num_pages) articles = page.object_list if page: page.url = u'%s/' % section.get_absolute_url() breadcrumb = [] breadcrumb.append({ 'name': request.locals['home'], 'link': '/' }) breadcrumb.append({ 'name': request.locals['section'], 'link': '/section' }) count = len(request.main_menus) while count > 0: if request.main_menus[count-1]['name'] == 'section': request.main_menus[count-1]['is_selected'] = True break count -= 1 return render_to_response(request.site.settings.template + '/section.html', { 'section': section, 'page': page, 'articles': articles, 'related_sections': related_sections, 'site': request.site, 'locals': request.locals, 'main_menus': request.main_menus, 'breadcrumb': breadcrumb, 'top_articles': request.top_articles } )
def show(request, section_id, page_number='1'): ''' ''' try: section = Section.objects.get(pk=section_id) article_set = Article.objects.filter( is_published=True, section=section).order_by('-issue__published_at').all() if not section.parent: related_sections = Section.objects.filter(parent=section).all() else: related_sections = Section.objects.filter( parent=section.parent).exclude(id=section.id).all() except: raise Http404 page = None try: page_number = int(page_number) if page_number < 1: raise Exception except: page_number = 1 paginator = DiggPaginator(article_set, 10) try: page = paginator.page(page_number) articles = page.object_list except: page = paginator.page(paginator.num_pages) articles = page.object_list if page: page.url = u'%s/' % section.get_absolute_url() breadcrumb = [] breadcrumb.append({'name': request.locals['home'], 'link': '/'}) breadcrumb.append({'name': request.locals['section'], 'link': '/section'}) count = len(request.main_menus) while count > 0: if request.main_menus[count - 1]['name'] == 'section': request.main_menus[count - 1]['is_selected'] = True break count -= 1 return render_to_response( request.site.settings.template + '/section.html', { 'section': section, 'page': page, 'articles': articles, 'related_sections': related_sections, 'site': request.site, 'locals': request.locals, 'main_menus': request.main_menus, 'breadcrumb': breadcrumb, 'top_articles': request.top_articles })
def search(request): query = request.GET.get('query', '') if query: q = u'%' + query + u'%' articles_set = Article.objects.filter(is_published=True).extra( \ where=[' title LIKE %s or body_text LIKE %s '], params=[q, q]).all() else: articles_set = [] page = None try: page_number = int(request.GET.get('page', '1')) page_number = int(page_number) if page_number < 1: raise Exception except: page_number = 1 paginator = DiggPaginator(articles_set, 10) try: page = paginator.page(page_number) articles = page.object_list except: page = paginator.page(paginator.num_pages) articles = page.object_list if page: page.url = u'/search?query=%s&page=' % query return render_to_response( request.site.settings.template + '/search.html', { 'site': request.site, 'locals': request.locals, 'articles': articles, 'page': page, 'query': query, 'main_menus': request.main_menus, 'top_articles': request.top_articles })
def search(request): query = request.GET.get('query', '') if query: q = u'%' + query + u'%' articles_set = Article.objects.filter(is_published=True).extra( \ where=[' title LIKE %s or body_text LIKE %s '], params=[q, q]).all() else: articles_set = [] page = None try: page_number = int(request.GET.get('page', '1')) page_number = int(page_number) if page_number < 1: raise Exception except: page_number = 1 paginator = DiggPaginator(articles_set, 10) try: page = paginator.page(page_number) articles = page.object_list except: page = paginator.page(paginator.num_pages) articles = page.object_list if page: page.url = u'/search?query=%s&page=' % query return render_to_response(request.site.settings.template + '/search.html', { 'site': request.site, 'locals': request.locals, 'articles': articles, 'page': page, 'query': query, 'main_menus': request.main_menus, 'top_articles': request.top_articles })