def collection(request, collection_id): collection = get_object_or_404(Collection, pk=collection_id) if not can_view_collection(request.user, collection): raise PermissionDenied if request.GET.get('all', '') == 'on': card_list = Card.objects.all() else: card_list = Card.objects.filter(editions__collection__id=collection_id) card_list, ferrors = _filter_cards(request, card_list) paginator = Paginator(card_list, 30, request=request) page = request.GET.get('page', 1) try: entries = paginator.page(page) except PageNotAnInteger: entries = paginator.page(1) except EmptyPage: entries = paginator.page(paginator.num_pages) entries.object_list = [(*card.get_count_in_collection(collection_id), card) for card in entries.object_list] layout = request.GET.get('layout', 'list') if layout not in ['list', 'grid']: layout = 'list' return render(request, 'cardbox/collection.html', { 'collection': collection, 'entries': entries, 'get': request.GET, 'layout': layout, 'ferrors': ferrors, })
def get(self, request, *args, **kwargs): self.page = kwargs.get('page', 1) self.current_tag = kwargs.get('tag', '') if self.current_tag != '': self.filter_tags.append(self.current_tag) self.pictures = self.pictures.filter( picture_tag__name=self.current_tag) #set the tags self.get_tags() # set up paginator paginator = Paginator(self.pictures, self.picture_per_page) try: self.pictures = paginator.page(self.page) except PageNotAnInteger: self.pictures = paginator.page(1) except EmptyPage: self.pictures = paginator.page(paginator.num_pages) if request.is_ajax(): response = self.get_ajax() else: response = self.render_to_response({ 'pictures': self.pictures, 'tags': self.tags, 'active_tag_count': self.active_tag_count, 'current_tag': self.current_tag, }) return response
def album_detail(request, slug): try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 album = Album.objects.public().get(slug=slug) album_list = album.children.all() paginator = Paginator(album_list, RESULTS_PER_PAGE) try: album_list = paginator.page(page) except EmptyPage: album_list = paginator.page(paginator.num_pages) picture_list = album.ordered_pictures.all() paginator = Paginator(picture_list, RESULTS_PER_PAGE) try: picture_list = paginator.page(page) except EmptyPage: picture_list = paginator.page(paginator.num_pages) return render(request, 'gallery/album_detail.html', { 'object': album, 'album_list': album_list, 'picture_list': picture_list, })
def get_discussion(request, discussion_id=None): discussion = get_object_or_404(Discussion, id=discussion_id) from itertools import chain comments = list(chain([discussion], discussion.comments.all())) try: page = request.GET.get('side', 1) except PageNotAnInteger: page = 1 p = Paginator(comments, per_page=10, orphans=3, request=request) try: comments = p.page(page) except EmptyPage: comments = p.page(1) variables = { 'pagetitle': discussion.title, 'discussion': get_object_or_404(Discussion, id=discussion_id), 'comments': comments, 'form': CommentForm(), } return render(request, 'discussion.html', variables)
def character_journal(request): character = get_object_or_404(CharacterApi, pk=request.session['charpk']) if not character.api.access_to("WalletJournal"): return HttpResponseRedirect(reverse("characters")) all_transactions = character.wallet_journal() filter_form = FilterJournalForm( request.POST or None, characterapi=character ) paginator = Paginator( all_transactions, 50, request=request ) page = request.GET.get('page', 1) try: transactions = paginator.page(page) except PageNotAnInteger: transactions = paginator.page(1) except EmptyPage: transactions = paginator.page(paginator.num_pages) chart_list = CharacterJournal.monthly_balance(character) return render( request, "characters/wallet_journal.html", { "character": character, "transactions": transactions, "chart_list": chart_list, "filter_form": filter_form, } )
def html_export(request, username, id_string): limit = request.REQUEST.get('limit', 100) cursor = get_instances_for_user_and_form(username, id_string) paginator = Paginator(cursor, limit, request=request) try: page = paginator.page(request.REQUEST.get('page', 1)) except (EmptyPage, PageNotAnInteger): try: page = paginator.page(1) except (EmptyPage, PageNotAnInteger): page = None context = { 'page': page, 'table': [] } if page: data = [("v1", page.object_list)] export = build_export(request, username, id_string) context['table'] = mark_safe("\n".join(export.to_html(data))) context['title'] = id_string return render(request, 'export/export_html.html', context)
def home(request, template_name = 'main.html'): res_post = False try: if len(request.session['posts']) > 0: res_post = True except: res_post = False try: ind_list = Indicator.objects.order_by('Description') except Indicator.DoesNotExist: ind_list = True if not ind_list == True: paginator = Paginator(ind_list, 20) page = request.POST.get('page',1) try: indicators = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. indicators = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. indicators = paginator.page(paginator.num_pages) args = {} args.update(csrf(request)) args['indicators'] = indicators args['res_post'] = res_post return render(request, template_name, args) else: posts = [{'page':'1'}] args = {} args.update(csrf(request)) args['all_posts'] = posts args['res_post'] = res_post return render(request, template_name, args)
def get_number_paginator(queryset, page=1, per_page=10): paginator = Paginator(queryset, per_page) try: page = int(page) except PageNotAnInteger: page = 1 try: paged_queryset = paginator.page(page) except (InvalidPage): paged_queryset = paginator.page(1) return paged_queryset
def album_list(request): album_list = Album.objects.public_root_nodes() paginator = Paginator(album_list, RESULTS_PER_PAGE) try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 try: album_list = paginator.page(page) except EmptyPage: album_list = paginator.page(paginator.num_pages) return render(request, 'gallery/album_list.html', { 'object_list': album_list, })
def index(request): card_list = Card.objects.all() paginator = Paginator(card_list, 50, request=request) page = request.GET.get('page', 1) try: cards = paginator.page(page) except PageNotAnInteger: cards = paginator.page(1) except EmptyPage: cards = paginator.page(paginator.num_pages) return render(request, 'cardbox/index.html', { 'cards': cards, })
def get(self, request, *args, **kwargs): self.object_list = request.user.tasks.order_by('-date_created', 'parent') paginator = Paginator(self.object_list, self.paginate_by, request=request) try: tasks = paginator.page(request.GET.get('page', 1)) except PageNotAnInteger: tasks = paginator.page(1) except EmptyPage: raise Http404 context = self.get_context_data(tasks=tasks.object_list, task_statuses=TaskStatus, page_obj=tasks) return self.render_to_response(context)
def licitacoes_lista(request, modalidade=None, ano=None): if modalidade: try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 try: site = Site.objects.get(domain=request.get_host()) modalidade = modalidade if not ano: ano = str(timezone.now().year) objects = Licitacao.publicados.filter(sites__id__exact=site.id, modalidade=modalidade, data_publicacao__year=ano) paginator = Paginator(objects, request=request, per_page=25) licitacoes = paginator.page(page) except Site.DoesNotExist, Licitacao.DoesNotExist: raise Http404 anos = Licitacao.publicados.filter().datetimes('data_publicacao', 'year', order='DESC') return render(request, 'conteudo/licitacoes_lista.html', {'licitacoes': licitacoes, 'anos': anos, 'ano': ano, 'modalidade': modalidade})
def post(self, request, *args, **kwargs): self.filter_pictures(request) paginator = Paginator(self.pictures, self.picture_per_page) self.page = kwargs.get('page') #set the tags self.get_tags() try: self.pictures = paginator.page(self.page) except PageNotAnInteger: self.pictures = paginator.page(1) except EmptyPage: self.pictures = paginator.page(paginator.num_pages) return self.get_ajax()
def get(self, request): all_courses = Course.objects.all().order_by('-add_time') hot_courses = Course.objects.all().order_by('-click_nums')[:3] #课程搜索 search_keywords = request.GET.get('keywords', '') if search_keywords: all_courses = all_courses.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q(detail__icontains=search_keywords) ) # 课程排序 sort = request.GET.get('sort', '') if sort == 'students': all_courses = all_courses.order_by('-students') elif sort == 'hot': all_courses = all_courses.order_by('-click_nums') # 对课程进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_courses, 3, request=request) courses = p.page(page) return render(request, 'course-list.html', { 'all_courses': courses, 'hot_courses': hot_courses, 'sort': sort, })
def get(self, request): all_blog = Blog.objects.all().order_by('-id') # 博客、标签、分类数目统计 count_nums = Counts.objects.get(id=1) blog_nums = count_nums.blog_nums cate_nums = count_nums.category_nums tag_nums = count_nums.tag_nums count_nums.save() for blog in all_blog: blog.content = markdown.markdown(blog.content) # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_blog, 5, request=request) all_blog = p.page(page) return render(request, 'index.html', { 'all_blog': all_blog, 'blog_nums': blog_nums, 'cate_nums': cate_nums, 'tag_nums': tag_nums, })
def get(self, request, tag_name): tag = get_object_or_404(Tag, name=tag_name) tag_blogs = tag.blog_set.all() # 博客、标签、分类数目统计 count_nums = Counts.objects.get(id=1) blog_nums = count_nums.blog_nums cate_nums = count_nums.category_nums tag_nums = count_nums.tag_nums # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(tag_blogs, 5, request=request) tag_blogs = p.page(page) return render(request, 'tag-detail.html', { 'tag_blogs': tag_blogs, 'tag_name': tag_name, 'blog_nums': blog_nums, 'cate_nums': cate_nums, 'tag_nums': tag_nums, })
def get(self, request): all_teachers = Teacher.objects.all() sorted_teacher = Teacher.objects.all().order_by('-click_nums')[:3] search_keywords = request.GET.get('keywords', '') if search_keywords: all_teachers = all_teachers.filter( Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords) | Q(work_position__icontains=search_keywords) ) sort = request.GET.get('sort', '') if sort == 'hot': all_teachers = all_teachers.order_by('-click_nums') # 对讲师进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 2, request=request) teachers = p.page(page) return render(request, 'teachers-list.html', { 'all_teachers': teachers, 'sorted_teacher': sorted_teacher, 'sort': sort, })
def index(request): preferred_language = translation.get_language() collator = Collator.createInstance(Locale(preferred_language)) if request.GET.get('aspect'): aspect = request.GET['aspect'] else: aspect = 'Collection' try: aspect_uri = ROUTABLES[aspect] except KeyError: aspect_uri = ROUTABLES['Collection'] this_results = [] for res in graph.subjects(RDF.type, aspect_uri): r = Resource(graph,res) if Resource(graph,UNBIST.PlaceName) in list(r[RDF.type]): continue res_label = get_preferred_label(res,preferred_language) this_results.append({'uri': res, 'pref_label':res_label}) #sorted_results = sorted(this_results, key=lambda tup: tup['pref_label'], cmp=collator.compare) sorted_results = sorted(this_results, key=lambda tup: tup['pref_label']) try: page = request.GET.get('page',1) except PageNotAnInteger: page = 1 p = Paginator(sorted_results, 20, request=request) paginated_results = p.page(page) return render(request, 'thesaurus/index.html', {'results': paginated_results, 'target': 'instances', 'aspect':aspect })
def generic_list_view(request, blog_slug=None, category_slug=None): feeds = Feed.objects.all() feedextras = FeedExtra.objects.all() if blog_slug: this_feedextra = feedextras.filter(slug=blog_slug).first() feed_pk = this_feedextra.feed.pk print feed_pk obj = Entry.objects.filter(feed=this_feedextra.feed).order_by('-date') elif category_slug: pass else: obj = Entry.objects.all().order_by('-date') try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 per_page = settings.PAGINATION_SETTINGS['ITEMS_PER_PAGE'] e = Paginator(obj, per_page, request=request) entries = e.page(page) context = { 'entries': entries, 'feeds': feeds, 'feedextras': feedextras, } return render(request, 'blog/pages/generic_list.html', context)
def games(request): games_list = Game.objects.all().order_by('-created_date').select_related('reporter','album','company')#.prefetch_related('comments') paginator = Paginator(games_list, RESULTS_PER_PAGE) try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 try: games_list = paginator.page(page) except EmptyPage: games_list = paginator.page(paginator.num_pages) return render(request, 'games.html', { 'games_list': games_list, })
def course_list(request): courses_list = Course.objects.all() # 展示全部数据 hot_courses = Course.objects.order_by('student_count')[0:2] # 课程搜索 # search_keywords = request.GET.get('keywords','') # if search_keywords: # all_course = courses_list.filter(Q) # 根据不同的标准,显示.sort是前端定义的,通过get可以获取不同的sort值,同搜索 sort = request.GET.get('sort','') if sort: if sort == 'students': # 根据学生量 courses_list = courses_list.order_by('-student_count') elif sort == 'hot': # 根据点击量 courses_list = courses_list.order_by('-has_fav') # 分页 try: page = request.GET.get('page',1) # 获取页值,如果没有默认为1 except PageNotAnInteger : page = 1 except EmptyPage: page = 1 p = Paginator(courses_list,4,request=request) #这一步以及把course_list传入了p,分页器 courses = p.page(page) # 最终传入前端的是courses return render(request,'course-list.html',locals())
def get(self, request, org_id): current_page = 'course' course_org = CourseOrg.objects.get(id=int(org_id)) all_courses = course_org.course_set.all() #初始化判断是否收藏 has_fav = False if request.user.is_authenticated(): if UserFavorite.objects.filter(user=request.user, fav_id = course_org.id, fav_type=2): has_fav = True # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_courses, 2, request=request) courses = p.page(page) return render(request, 'org-detail-course.html', { 'all_courses': courses, 'course_org': course_org, 'current_page': current_page, 'has_fav': has_fav, })
def get(self, request): teachers = Teacher.objects.all() count = teachers.count() hot_teacher = Teacher.objects.all().order_by('-click_nums')[:3] # 按热门排序 order = request.GET.get('order', '') if order == 'hot': teachers = teachers.order_by('click_nums') # 分页设置 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(teachers, 4, request=request) all_teachers = p.page(page) return render(request, 'teachers-list.html', { 'teachers' : all_teachers, 'MEDIA_URL' : MEDIA_URL, 'count' : count, 'hot_teacher' : hot_teacher, })
def get(self, request): all_courses = Course.objects.all().order_by("-add_time") hot_courses = Course.objects.all().order_by("-click_nums")[:3] # 课程搜索 search_keywords = request.GET.get("keywords", "") if search_keywords: all_courses = all_courses.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q( detail__icontains=search_keywords)) sort = request.GET.get("sort", "") if sort: if sort == "students": all_courses = all_courses.order_by("-students") elif sort == "hot": all_courses = all_courses.order_by("-click_nums") # 对课程进行分页 try: page = request.GET.get("page", 1) except PageNotAnInteger: page = 1 p = Paginator(all_courses, 9, request=request) courses = p.page(page) return render(request, 'course-list.html', { 'all_courses': courses, 'sort': sort, 'hot_courses': hot_courses })
def get(self, request): all_courses = Course.objects.all().order_by("-add_time") hot_courses = Course.objects.all().order_by("-click_nums")[:3] # 课程排序 sort = request.GET.get('sort', "") if sort: if sort == "students": all_courses = all_courses.order_by("-students") elif sort == "hot": all_courses = all_courses.order_by("-click_nums") # 课程分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 设定每页显示3个 p = Paginator(all_courses, 3, request=request) # 取到分页的课程并赋值给变量courses courses = p.page(page) return render(request, "course-list.html", { "all_courses": courses, "sort": sort, "hot_courses": hot_courses, })
def build_page(self): """ Paginates the results appropriately. In case someone does not want to use Django's built-in pagination, it should be a simple matter to override this method to do what they would like. """ try: page_no = int(self.request.GET.get('page', 1)) except (TypeError, ValueError): raise Http404("Not a valid number for page.") if page_no < 1: raise Http404("Pages should be 1 or greater.") start_offset = (page_no - 1) * self.results_per_page self.results[start_offset:start_offset + self.results_per_page] paginator = Paginator(self.results, self.results_per_page) try: page = paginator.page(page_no) except InvalidPage: raise Http404("No such page!") return (paginator, page)
def get(self,request): # 获取ip ip = request.META.get('HTTP_X_FORWARDED_FOR', '') if ip == '': ip = request.META['REMOTE_ADDR'] ip_m = IPRecord.objects.create(ip=ip, across_type="index",ip_address=lookup(ip)) ip_m.save() articles = Article.objects.all().order_by('-add_time') # 分页 page_item_num = 10 page = 0 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Pa(articles, page_item_num, request=request) atricles_inpage = p.page(page) return render(request,'index.html',{ 'articles':atricles_inpage, })
def get(self, request): all_teachers = Teacher.objects.all() # 总共有多少老师使用count进行统计 teacher_nums = all_teachers.count() # 搜索功能 search_keywords = request.GET.get('keywords', '') if search_keywords: # 在name字段进行操作,做like语句的操作。i代表不区分大小写 # or操作使用Q all_teachers = all_teachers.filter(name__icontains=search_keywords) # 人气排序 sort = request.GET.get("sort", "") if sort == "hot": all_teachers = all_teachers.order_by('-click_nums') # 讲师排行榜 sorted_teacher = Teacher.objects.all().order_by("-click_nums")[:3] # 进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 5, request=request) teachers = p.page(page) return render(request, "teachers-list.html", { "all_teachers": teachers, "teacher_nums": teacher_nums, 'sorted_teacher': sorted_teacher, 'sort': sort, })
def index(request): #Uncomment the below block to use standard Django Pagination # context=RequestContext(request) # product_list=Product.objects.order_by('-time') # paginator=Paginator(product_list,5) # page=request.GET.get('page') # try: # products=paginator.page(page) # except PageNotAnInteger: # products=paginator.page(1) # except EmptyPage: # products=paginator.page(paginator.num_pages) # context_dict={"products":products} context=RequestContext(request) product_list=Product.objects.order_by('-time') try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation p = Paginator(product_list, 5,request=request) products = p.page(page) context_dict={"products":products} return render_to_response('listing/index.html',context_dict,context)
def get(self, request): all_course = Course.objects.all().order_by('-add_time') hot_course = all_course.order_by('-click_nums')[:3] # 热门课程 sort = request.GET.get('order', '') if sort == 'hot': all_course = all_course.order_by('-click_nums') # 按热门排序 elif sort == 'students': all_course = all_course.order_by('-students') # 按人数排序 # 分页设置 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_course, 9, request=request) courses = p.page(page) return render(request, 'course-list.html', { 'all_course' : courses, 'MEDIA_URL' : MEDIA_URL, 'sort' : sort, 'hot_course' : hot_course, })
def get(self, request): all_cities = City.objects.all() all_orgs = CourseOrg.objects.all() hot_orgs = all_orgs.order_by("-click_nums")[:5] keyword = request.GET.get("keywords", "") if keyword: all_orgs = all_orgs.filter(Q(name__icontains=keyword)| Q(desc__icontains=keyword)) city_id = request.GET.get("city", "") if city_id: all_orgs = all_orgs.filter(city_id=int(city_id)) category = request.GET.get("ct", "") if category: all_orgs = all_orgs.filter(category=category) sort = request.GET.get("sort", "") if sort == "students": all_orgs = all_orgs.order_by("-students") elif sort == "courses": all_orgs = all_orgs.order_by("-courses") try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation p = Paginator(all_orgs, 3, request=request) orgs = p.page(page) return render(request, "org-list.html", { "all_cities": all_cities, "all_orgs": orgs, "org_nums": all_orgs.count(), "city_id": city_id, "category": category, "hot_orgs": hot_orgs, "sort": sort, })
def get(self, request, org_id, *args, **kwargs): nav_name = 'course' '''根据org_id查询对应的机构和课程''' org_info = CourseOrg.objects.filter(id=int(org_id))[0] org_info.click_nums += 1 org_info.save() all_courses = org_info.course_set.all() try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 分页 per_page每页显示5条数据 p = Paginator(all_courses, per_page=2, request=request) courses = p.page(page) return render(request, 'org-detail-course.html', { 'org_info': org_info, 'all_courses': courses, 'nav_name': nav_name })
def get(self, request): current_page = 'mymessage' all_message = UserMessage.objects.filter(user=request.user.id) # 用户进入个人消息后清空未读消息的记录 all_unread_messages = UserMessage.objects.filter(user=request.user.id, has_read=False) for unread_message in all_unread_messages: unread_message.has_read = True unread_message.save() # 对个人消息进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generatio p = Paginator(all_message, 3, request=request) messages = p.page(page) return render(request, "usercenter-message.html", { "messages": messages, "current_page": current_page, })
def get(self, request): current_page = 'message' all_messages = UserMessage.objects.filter(user=request.user.id) all_unread_messages = UserMessage.objects.filter(user=request.user.id, has_read=False) for unread_message in all_unread_messages: unread_message.has_read = True unread_message.save() try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_messages, 3, request=request) messages = p.page(page) return render(request, 'usercenter-message.html', { 'current_page': current_page, 'all_messages': messages })
def get(self, request): all_messages = UserMessage.objects.filter(user=request.user.id) # 用户进入个人消息后清空未读消息的记录 all_unread_msgs = UserMessage.objects.filter(user=request.user.id, has_read=False) for unread_msg in all_unread_msgs: unread_msg.has_read = True unread_msg.save() # 个人消息分页的功能 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_messages, 3, request=request) all_messages = p.page((page)) return render(request, 'usercenter-message.html', { "all_messages": all_messages, })
def get(self, request): all_message = UserMessage.objects.filter(user=request.user.id) # 用户进入个人中心消息页面,清空未读消息记录 all_unread_messages = UserMessage.objects.filter(user=request.user.id, has_read=False) for unread_message in all_unread_messages: unread_message.has_read = True unread_message.save() # 对课程类型进行分页 # 尝试获取前台get请求传递过来的page参数 # 如果是不合法的配置参数默认返回第一页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 这里指从allorg中取五个出来,每页显示5个 p = Paginator(all_message, 4) messages = p.page(page) return render(request, "usercenter-message.html", { "messages": messages, })
def get(self, request, author_id): current_page = 'article' author = Author.objects.get(id=int(author_id)) all_article = author.article_set.all() huan_article = all_article.order_by('-fav_nums')[:1] hot_article = author.article_set.order_by('-click_nums')[:2] message = '' message_list = UserMessage.objects.filter(user=request.user.id, has_read=False) if message_list.__len__(): message = 'message' # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_article, 5, request=request) article = p.page(page) has_fav = False if request.user.is_authenticated(): # 判断该用户是否已经收藏该作者 if UserFavorite.objects.filter(user=request.user, fav_id=author.id, fav_type=2): has_fav = True return render( request, 'TAdetail.html', { 'author': author, 'all_article': article, 'current_page': current_page, 'hot_article': hot_article, 'huan_article': huan_article, 'has_fav': has_fav, 'message': message, })
def Home(request): """ 首页 :param request: :return: """ recommend = Recommend.objects.filter(is_recommend=True)[:10] seo_list = get_object_or_404(Seo, name='首页') qq = QQ.objects.all() links = link.objects.all() #user = Follow.objects.values('follow_id').distinct().order_by('-follow_id') # user = Follows.objects.values('follow_id').distinct().order_by('-follow_id') # item=[] # for i in user: # data={} # #print(User.objects.filter(follow__follow__id=i['follow_id'])) # data['data']=User.objects.filter(follow__follow__id=i['follow_id']).distinct() # item.append(data) try: page = request.GET.get('page', 1) if page == '': page = 1 except PageNotAnInteger: page = request.GET.get('page') # Provide Paginator with the request object for complete querystring generation article = Article.objects.filter(is_show=True)[:100] p = Paginator(article, 10, request=request) people = p.page(page) banners = Banners.objects.first() return render( request, 'pc/index.html', { 'seo_list': seo_list, 'article': people, 'qq': qq, 'recommend': recommend, 'links': links, 'banners': banners })
def get(self, request): search_keyword = request.GET.get('keywords') if search_keyword: all_courses = Course.objects.filter(Q(name__icontains=search_keyword) | Q(desc__icontains=search_keyword) | Q(detail__icontains=search_keyword) | Q(category__icontains=search_keyword) ) # 从数据库获得的数据 else: all_courses = Course.objects.all() sort = request.GET.get('sort', '') hot_courses = Course.objects.all().order_by('-click_nums')[:3] # 开始排序逻辑 if not sort: sort = 'add_time' all_courses = all_courses.order_by("-%s" % (sort)) # 开始分页逻辑 try: page = int(request.GET.get('page', 1)) except PageNotAnInteger: page = 1 # per_page参数设置每页显示的对象个数. p = Paginator(all_courses, per_page=6, request=request) courses = p.page(page) return render(request, 'course-list.html', { "all_course": courses, 'sort': sort, 'hot_courses': hot_courses, })
def get(self, request, *args, **kwargs): all_orgs = CourseOrg.objects.all() all_city = City.objects.all() category = request.GET.get('ct', '') hot_orgs = CourseOrg.objects.order_by('-click_nums')[:3] if category: all_orgs = all_orgs.filter(category=category) city_id = request.GET.get('city', '') if city_id: if city_id.isdigit(): # 判断字符串是否指包含数字 all_orgs = all_orgs.filter(city_id=int(city_id)) org_count = all_orgs.count() sort = request.GET.get('sort', '') if sort == "students": all_orgs = all_orgs.order_by( '-students') # order_by 排序 在字段前面加- 表示按照这个字段的倒叙排序 if sort == "courses": all_orgs = all_orgs.order_by('-course_nums') try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 机构列表分页 # 注意要 要提供per_page 参数 一页显示多少条 p = Paginator(all_orgs, per_page=5, request=request) all_orgs = p.page(page) return render( request, 'org-list.html', { 'hot_orgs': hot_orgs, 'org_count': org_count, 'all_city': all_city, 'category': category, 'city_id': city_id, 'all_org': all_orgs, 'sort': sort })
def get(self, request): all_teachers = Teacher.objects.all() # 搜索功能 search_keywords = request.GET.get('keywords', '') if search_keywords: all_teachers = all_teachers.filter( Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords) | Q(work_position__icontains=search_keywords)) # i是不区分大小写 # 课程总数 teacher_nums = all_teachers.count() # 按需排序功能 sort = request.GET.get('sort', "") if sort: if sort == "hot": all_teachers = all_teachers.order_by('-click_num') # 讲师排行榜 teacher_rank = all_teachers.order_by('-click_num')[:3] # 分页功能 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 5, request=request) teachers = p.page(page) return render( request, 'teachers-list.html', { 'all_teachers': teachers, 'teacher_rank': teacher_rank, 'teacher_nums': teacher_nums, 'sort': sort, })
def get(self, request): all_teacher = Teacher.objects.all() sort = request.GET.get("sort", "") if sort: if sort == "hot": all_teacher = all_teacher.order_by("-click_nums") # 首页(base.html)搜索功能 search_keywords = request.GET.get('keywords', '') if search_keywords: # 在name字段进行操作,做like语句的操作。i代表不区分大小写 # or操作使用Q all_teacher = all_teacher.filter( Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords)) # 排行榜讲师 rank_teacher = Teacher.objects.all().order_by("-fav_nums")[:5] # 总共有多少老师使用count进行统计 teacher_nums = all_teacher.count() # 对讲师进行分页 # 尝试获取前台get请求传递过来的page参数 # 如果是不合法的配置参数默认返回第一页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 这里指从allorg中取五个出来,每页显示5个 p = Paginator(all_teacher, 4, request=request) teachers = p.page(page) return render( request, "teachers-list.html", { "all_teacher": teachers, "teacher_nums": teacher_nums, "sort": sort, "rank_teachers": rank_teacher, "search_keywords": search_keywords, })
def get(self, request): all_courses = Course.objects.all().order_by('-add_time') hot_courses = Course.objects.all().order_by('-click_nums')[:3] # 课程搜索 search_keywords = request.GET.get('keywords', '') if search_keywords: all_courses = Course.objects.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords)) # 统计课程数 all_courses_nums = all_courses.count() # 课程排序 sort = request.GET.get('sort', '') if sort: if sort == 'students': all_courses = all_courses.order_by('-students') elif sort == 'hot': all_courses = all_courses.order_by('-click_nums') # 对课程进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_courses, 6, request=request) courses = p.page(page) return render( request, 'course-list.html', { 'all_courses': courses, 'sort': sort, 'hot_courses': hot_courses, 'all_courses_nums': all_courses_nums, 'keywords': search_keywords, })
def get(self, request): topped_Artcles_all = None search_keywords = request.GET.get("keywords", "") if search_keywords: # 课程搜索 i代表不区分大小写 category_Artcles_all = Article.objects.filter( Q(title__icontains=search_keywords) | Q(body__icontains=search_keywords)) else: # 根据添加时间在新随笔显示 category_Artcles_all = Article.objects.filter( topped=False).order_by("-created_time") #获取全部的置顶笔记 topped_Artcles_all = Article.objects.filter( topped=True).order_by("-created_time") #取出所有新评论 New_comment = ArticleComments.objects.all().order_by("-add_time")[:3] #取出所有评论 comment_count = ArticleComments.objects.all() #对文章进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(category_Artcles_all, 4, request=request) Artcles_all = p.page(page) return render( request, "Art_main_list.html", { "New_comment": New_comment, "category_Artcles_all": Artcles_all, "comment_count": comment_count, "topped_Artcles_all": topped_Artcles_all })
def get(self, request): # 全部课程 all_courses = Course.objects.all().order_by('-add_time') # 侧栏热门推荐 hot_courses = Course.objects.order_by('-click_nums')[:3] # 课程搜索 search_keywords = request.GET.get('keywords', "") if search_keywords: all_courses = all_courses.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q(detail__icontains=search_keywords)) sort = request.GET.get('sort', "") if sort: if sort == 'hot': # 热门筛选 all_courses = all_courses.order_by('-click_nums') if sort == 'students': # 人数筛选 all_courses = all_courses.order_by('-students') try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation p = Paginator(all_courses, 1, request=request) orgs = p.page(page) return render(request, 'course-list.html', { 'all_courses': orgs, 'hot_courses': hot_courses, 'sort': sort, })
def get(self, request): all_blogs = Blogs.objects.all() top_blogs = all_blogs.order_by('-click_nums')[:3] # 作者 all_author = Author.objects.all() authors = all_author.order_by('-click_nums')[:3] # 类别筛选 category = request.GET.get('ct', '') if category: all_blogs = all_blogs.filter(category=category) # 收藏数点击数排序 sort = request.GET.get('sort', '') if sort: if sort == 'fav_nums': all_blogs = all_blogs.order_by('-fav_nums') elif sort == 'click_nums': all_blogs = all_blogs.order_by('-click_nums') blog_nums = all_blogs.count() # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_blogs, 2, request=request) blogs = p.page(page) return render( request, 'blog_list.html', { "all_blogs": blogs, 'blog_nums': blog_nums, 'category': category, 'top_blogs': top_blogs, 'sort': sort, 'authors': authors })
def get(self, request): # 课程机构 all_orgs = CourseOrg.objects.all() hot_orgs = all_orgs.order_by("click_nums")[:3] # 城市 all_citys = CityDict.objects.all() # 筛选城市 city_id = request.GET.get('city', "") if city_id: all_orgs = all_orgs.filter(city_id=int(city_id)) # 类别筛选 category = request.GET.get('ct', "") if category: all_orgs = all_orgs.filter(category=category) sort = request.GET.get('sort', "") if sort: if sort == "students": all_orgs = all_orgs.order_by("-students") elif sort == "courses": all_orgs = all_orgs.order_by("-course_nums") try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 all_nums = all_orgs.count() p = Paginator(all_orgs, 5, request=request) orgs = p.page(page) return render(request, "org-list.html", { "all_orgs": orgs, "all_citys":all_citys, "all_nums": all_nums, "city_id":city_id, "category":category, "hot_orgs":hot_orgs, "sort":sort, })
def get(self, request): current_list = 'courses' all_courses = Course.objects.all() hot_courses = all_courses.order_by('-click_nums')[:5] # 搜索功能 # 使用并集查询功能,过滤出符合条件的搜索内容 search_keywords = request.GET.get('keywords', '') if search_keywords: all_courses = all_courses.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q(detail__icontains=search_keywords)) # 排序 sort = request.GET.get('sort', '') if not sort: all_courses = all_courses.order_by('-add_time') elif sort == 'students': all_courses = all_courses.order_by('-students') elif sort == 'hot': all_courses = all_courses.order_by('-click_nums') # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_courses, 9, request=request) courses = p.page(page) context = { 'all_courses': courses, 'hot_courses': hot_courses, 'sort': sort, 'current_list': current_list, } return render(request, 'course-list.html', context=context)
def get(self, request): all_teachers = Teacher.objects.all() # 教师搜索 search_keywords = request.GET.get('keywords', '') if search_keywords: # __contains相当于sql语句中的like语法,'i'表示不区分大小写,Q加|相当于or查询 all_teachers = all_teachers.filter( Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords) | Q(work_position__icontains=search_keywords) | Q(org__name__icontains=search_keywords)) # 人气筛选 sort = request.GET.get('sort', '') if sort: if sort == 'hot': all_teachers = all_teachers.order_by('-click_nums') # 讲师排行榜 hot_teachers = Teacher.objects.all().order_by('-click_nums')[:5] teacher_nums = all_teachers.count() # 翻页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 传3个参数,第二个参数是显示每页数目 p = Paginator(all_teachers, 1, request=request) teachers = p.page(page) return render( request, 'teachers-list.html', { "all_teachers": teachers, "teacher_nums": teacher_nums, "hot_teachers": hot_teachers, "sort": sort, })
def get(self, request): # 所有的课程 all_course = Course.objects.all() # 热门课程 hot_course = all_course.order_by('-click_nums')[:3] # 通过关键字筛选 keywords = request.GET.get('keywords', '') if keywords: all_course = all_course.filter( Q(name__icontains=keywords) | Q(desc__icontains=keywords) | Q(detail__icontains=keywords)) # 对所有课程进行排序 sort_type = request.GET.get('sort', '') if sort_type == 'hot': all_course = all_course.order_by('-click_nums') elif sort_type == 'students': all_course = all_course.order_by('-students') else: all_course = all_course.order_by('-add_time') # 对所有课程进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_course, 6, request=request) courses = p.page(page) return render( request, 'course-list.html', { 'all_course': courses, 'hot_course': hot_course, 'sort_type': sort_type })
def get(self,request): all_course = Course.objects.all().order_by('-add_time') #默认排序最新排序 hot_course = Course.objects.all().order_by('-click_nums')[:3] #搜索功能 search_keywords = request.GET.get('keywords','') if search_keywords: all_course = all_course.filter(Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q( detail__icontains=search_keywords)) #icontains 中的i表示django里面一般都是不区分大小写 #进行人们与参与人数排序 sort = request.GET.get('sort', '') if sort: if sort == 'students': all_course = all_course.order_by('-students') # - 号代表倒叙排序 elif sort == 'courses': all_course = all_course.order_by('-click_nums') # 分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # objects = ['john', 'edward', 'josh', 'frank'] # Provide Paginator with the request object for complete querystring generation p = Paginator(all_course, 6, request=request) # 这里的5是每一页只显示5个 courses = p.page(page) return render(request,'course-list.html',{ 'all_course':courses, 'sort':sort, 'hot_course':hot_course })
def post(self, request): group = HostGroup() group.group_name = request.POST.get('group_name', "") group.group_detail = request.POST.get('group_detail', "") group.network = request.POST.get('group_network', "") has_group = HostGroup.objects.filter(group_name=group.group_name) if has_group: return render(request, "add-group.html", { "status": "failed", "msg": "添加失败:主机组已存在!" }) elif group.group_name == "": return render(request, "add-group.html", { "status": "failed", "msg": "添加失败:主机组名不能为空!" }) else: group.save() groups = HostGroup.objects.all() #分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation p = Paginator(groups, 10, request=request) groups = p.page(page) return render(request, "group-list.html", { "status": "success", 'groups': groups, "msg": "添加成功!" })
def get(self, request, teacher_id): try: teacher = Teacher.objects.get(id=teacher_id) teacher_courses = teacher.course_set.all() hot_teachers = Teacher.objects.all().order_by('-click_nums')[:5] teacher.click_nums += 1 teacher.save() has_fav_teacher = False has_fav_org = False if request.user.is_authenticated(): if UserFavorite.objects.filter(user=request.user, fav_id=teacher.id, fav_type=3): has_fav_teacher = True if UserFavorite.objects.filter(user=request.user, fav_id=teacher.org.id, fav_type=2): has_fav_org = True try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(teacher_courses, 8, request=request) teacher_courses = p.page(page) return render( request, 'teacher-detail.html', { 'teacher': teacher, 'hot_teachers': hot_teachers, 'teacher_courses': teacher_courses, 'has_fav_teacher': has_fav_teacher, 'has_fav_org': has_fav_org }) except Exception as e: None
def get(self, request, teacher_id): teacher = Teacher.objects.get(id=int(teacher_id)) teacher.click_nums += 1 teacher.save() teacher_ranges = Teacher.objects.all().order_by('-fav_nums')[:3] courses = teacher.course_set.all() # 检查收藏按钮 has_teacher_fav = False has_org_fav = False if UserFavorite.objects.filter(user=request.user, fav_id=teacher.id, fav_type=3): has_teacher_fav = True if UserFavorite.objects.filter(user=request.user, fav_id=teacher.org.id, fav_type=2): has_org_fav = True try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # Provide Paginator with the request object for complete querystring generation # 控制每一页显示的个数 p = Paginator(courses, 3, request=request) courses = p.page(page) return render( request, 'teacher-detail.html', { "teacher": teacher, "teacher_ranges": teacher_ranges, "courses": courses, "has_teacher_fav": has_teacher_fav, "has_org_fav": has_org_fav })
def get(self, request): all_teachers = Teacher.objects.all() # 课程讲师搜索 search_keywords = request.GET.get('keywords', "") if search_keywords: all_teachers = all_teachers.filter( Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords) | Q(work_position__icontains=search_keywords)) # 热门排序 sort = request.GET.get('sort', "") if sort: if sort == "hot": all_teachers = all_teachers.order_by("-click_nums") teacher_nums = all_teachers.count() # 讲师排行榜 sorted_teacher = Teacher.objects.all().order_by("-click_nums")[:3] #对讲师进行分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_teachers, 1, request=request) teachers = p.page(page) return render( request, "teachers-list.html", { "all_teachers": teachers, "sorted_teacher": sorted_teacher, "sort": sort, "teacher_nums": teacher_nums, })
def get(self,request): # 所有教师 all_teacher=Teacher.objects.all() # 搜索 search_keywords = request.GET.get('keywords', '') if search_keywords: all_teacher = Teacher.objects.filter(Q(name__icontains=search_keywords) | Q(work_position__icontains=search_keywords) | Q(work_years__icontains=search_keywords) ) # 人气进行筛选 sort=request.GET.get('sort','') if sort: if sort=='hot': all_teacher=all_teacher.order_by('-work_years') # 人气讲师,通过clik_nums hot_teacher=all_teacher.order_by('-clik_nums')[:3] # 统计人数 all_count=all_teacher.count() # 分页功能 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 objects = ['john', 'edward', 'josh', 'frank'] # 需要传入默认值 5 p = Paginator(all_teacher, 3, request=request) teacher = p.page(page) return render(request,'teachers-list.html',{ # 经过分页后,“all_teacher”不在是querset类型,, # 变成Page类型,不能迭代 所以前端页面需要在all_teacher后面再加.object_list "all_teacher":teacher, "hot_teacher":hot_teacher, 'sort':sort, "all_count":all_count, })
def get(self, request): print("11111111111111111111111111") all_course = Course.objects.all() # 热门课程推荐 hot_courses = Course.objects.all().order_by("-students")[:3] # 搜索功能 search_keywords = request.GET.get('keywords', '') if search_keywords: # 在name字段进行操作,做like语句的操作。i代表不区分大小写 # or操作使用Q all_course = all_course.filter( Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q(detail__icontains=search_keywords)) # 对课程进行分页 # 尝试获取前台get请求传递过来的page参数 # 如果是不合法的配置参数默认返回第一页 # 进行排序 sort = request.GET.get('sort', "") if sort: if sort == "students": all_course = all_course.order_by("-students") elif sort == "hot": all_course = all_course.order_by("-click_nums") try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 这里指从allorg中取五个出来,每页显示5个 p = Paginator(all_course, 6, request=request) courses = p.page(page) return render( request, "course-list.html", { "all_course": courses, "sort": sort, "hot_courses": hot_courses, "search_keywords": search_keywords })
def get(self, request): all_orgs = CourseOrg.objects.all() hot_orgs = all_orgs.order_by('-click_nums')[:3] all_citys = CityDict.objects.all() search_kw = request.GET.get('keywords') if search_kw: all_orgs = all_orgs.filter( Q(name__icontains=search_kw) | Q(desc__icontains=search_kw)) city_id = request.GET.get('city', '') if city_id: all_orgs = all_orgs.filter(city_id=int(city_id)) category = request.GET.get('ct', '') if category: all_orgs = all_orgs.filter(category=category) sort = request.GET.get('sort', '') if sort == 'students': all_orgs = all_orgs.order_by('-students') elif sort == 'courses': all_orgs = all_orgs.order_by('-course_nums') all_nums = all_orgs.count() #课程机构分页 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_orgs, 3, request=request) orgs = p.page(page) return render( request, 'org-list.html', { 'all_orgs': orgs, 'all_citys': all_citys, 'all_nums': all_nums, 'city_id': city_id, 'category': category, 'hot_orgs': hot_orgs, 'sort': sort, })