Exemplo n.º 1
0
    def get(self, request):
        user_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

            # Provide Paginator with the request object for complete querystring generation
        # 控制每一页显示的个数
        p = Paginator(user_messages, 5, request=request)

        user_messages = p.page(page)
        return render(request, 'usercenter-message.html', {
            "user_messages": user_messages,
            "current_page": "message",
        })
Exemplo n.º 2
0
 def get(self, request):
     all_teacher = Teacher.objects.all()
     teacher_num = all_teacher.count()
     sort = request.GET.get('sort', '')
     keywords = request.GET.get('keywords', '')
     if keywords:
         all_teacher = all_teacher.filter(name__icontains=keywords)
     if sort:
         if sort == 'hot':
             all_teacher = all_teacher.order_by('-click_num')
     sorted_teacher = all_teacher.order_by('-click_num')[:3]
     try:
         page = request.GET.get('page', 1)
     except PageNotAnInteger:
         page = 1
     p = Paginator(all_teacher, 2, request=request)
     all_teacher = p.page(page)
     return render(
         request, 'teachers-list.html', {
             'all_teacher': all_teacher,
             'teacher_num': teacher_num,
             'sorted_teacher': sorted_teacher,
             'sort': sort
         })
Exemplo n.º 3
0
    def get(self, request):
        all_blog = Blog.objects.all().order_by('-create_time')
        # 博客、标签、分类数目统计
        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(all_blog, 5, request=request)
        all_blog = p.page(page)

        return render(
            request, 'archive.html', {
                'all_blog': all_blog,
                'blog_nums': blog_nums,
                'cate_nums': cate_nums,
                'tag_nums': tag_nums,
            })
Exemplo n.º 4
0
    def get(self, request, pid):
        web_title = 'record'
        web_func = 'record_archive'
        search_id = pid
        user = UserProfile.objects.get(id=search_id)
        content_title = '<span style="color:orangered">"' + str(user.nick_name) + '"</span> 的记录 '
        user_list = UserProfile.objects.all()
        tag_list = RecordTags.objects.all()

        records = user.faultrecord_set.all()

        # 记录数量
        record_nums = records.count()

        # 判断页码
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        # 对取到的数据进行分页,记得定义每页的数量
        p = Paginator(records, 10, request=request)

        # 分页处理后的 QuerySet
        records = p.page(page)

        context = {
            'content_title': content_title,
            'web_title': web_title,
            'web_func': web_func,
            'records': records,
            'user_list': user_list,
            'tag_list': tag_list,
            'record_nums': record_nums,
        }
        return render(request, 'record/record_list.html', context=context)
Exemplo n.º 5
0
    def post(self, request):
        all_foods = Food.objects.all().order_by("-add_time")

        # 菜品全局搜索功能
        search_keyword = request.POST.get('keyword', '')

        # 热门菜 按下单数排序
        hot_foods = Food.objects.all().order_by("-buy_nums")[:3]

        if search_keyword:
            all_foods = all_foods.filter(name__icontains=search_keyword)

        # 对菜单进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_foods, 9, request=request)
        foods = p.page(page)
        return render(request, "food-list.html", {
            "all_foods": foods,
            "hot_foods": hot_foods,
        })
Exemplo n.º 6
0
Arquivo: views.py Projeto: cucy/2017
    def get(self, request):

        # 只显示状态小于2,即,申请和处理中的工单
        work_order_lists = WorkOrder.objects.filter(status__lt=2)

        # 如果不是sa组的用户只显示自己申请的工单,别人看不到你申请的工单,管理员可以看到所有工单
        if 'sa' not in [group.name for group in request.user.groups.all()]:
            work_order_lists = work_order_lists.filter(applicant=request.user)

        search_keywords = request.GET.get('search_keywords')
        if search_keywords:
            work_order_lists.filter(Q(title__icontains=search_keywords))

        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(work_order_lists, 10, request=request)
        work_orders = p.page(page)
        return render(request, 'order/work-order-list.html', {
            'page_obj': work_orders,
            'p': p
        })
Exemplo n.º 7
0
    def get(self, request):
        all_teachers = Teacher.objects.all()

        # 讲师搜索
        search_keywords = request.GET.get('keywords', "")
        if search_keywords:  # Q表示sql的或操作
            all_teachers = all_teachers.filter(
                Q(name__icontains=search_keywords) | Q(work_company__icontains=search_keywords) | Q(
                    work_position__icontains=search_keywords))  # __icontains表示模糊匹配,像sql中的like查询,i表示不区分大小写

        sort = request.GET.get('sort', "")
        #让讲师按人气排序,点击排序后
        if sort:
            if sort == "hot":
                all_teachers = all_teachers.order_by("-click_nums")

        #排行榜讲师排序
        sorted_teachers = Teacher.objects.all().order_by("-click_nums")[:3]

        # 对课程教师进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        # Provide Paginator with the request object for complete querystring generation

        p = Paginator(all_teachers, 1, request=request)

        teachers = p.page(page)

        return render(request, "teachers-list.html", {
            "all_teachers" : teachers,
            "sorted_teachers" : sorted_teachers,
            "sort" : sort
        })
Exemplo n.º 8
0
    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 == 'hot':
                all_courses = all_courses.order_by('-click_nums')
            elif sort == 'learn_nun':
                all_courses = all_courses.order_by('-learn_nums')

        # 对课程列表进行分页
        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, 3, request=request)

        courses = p.page(page)
        return render(request, 'course-list.html', {
            'all_courses': courses,
            'hot_courses': hot_courses,
            'sort': sort,
        })
Exemplo n.º 9
0
 def get(self, request):
     all_teachers = Teacher.objects.all()
     teacher_nums = all_teachers.count()
     #人气排序
     sort = request.GET.get("sort", '')
     if sort:
         if sort == 'hot':
             all_teachers = Teacher.objects.order_by('-click_nums')
     #讲师排行榜
     sort_teachers = Teacher.objects.order_by('-click_nums')[:3]
     #分页
     try:
         page = request.GET.get("page", 1)
     except PageNotAnInteger:
         page = 1
     p = Paginator(all_teachers, 3, request=request)
     teachers = p.page(page)
     context = {
         "all_teachers": teachers,
         "teacher_nums": teacher_nums,
         "sort": sort,
         "sort_teachers": sort_teachers
     }
     return render(request, 'teacher/teachers-list.html', context)
Exemplo n.º 10
0
    def index(self, request):
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        try:
            data = request.GET.get('company', None)
            company = Company.objects.get(name=data)
        except:
            company = None
            data = None

        if data:
            resources = Project.objects.filter(company_related=company.pk)
        else:
            resources = Project.objects.all()
        p = Paginator(resources, request=request, per_page=3)

        return self.render(request,
                           context_overrides={
                               'projects': p.page(page),
                               'company': company
                           })
Exemplo n.º 11
0
    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',
                      context={'tag_blogs': tag_blogs,
                               'tag_name': tag_name,
                               'blog_nums': blog_nums,
                               'cate_nums': cate_nums,
                               'tag_nums': tag_nums,
                               })
Exemplo n.º 12
0
    def get(self,request,type_id):
        blog_type = BlogType.objects.get(id=int(type_id))
        all_blog_type = BlogType.objects.all()
        all_blogs = Blog.objects.filter(type_name=blog_type)

        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

            # Provide Paginator with the request object for complete querystring generation

        p = Paginator(all_blogs, 5, request=request)

        blogs= p.page(page)


        return render(request,'blogtype.html',{
            'Type':blog_type,
            'blogs_list':blogs,
            'all_blog_type': all_blog_type,


        })
Exemplo n.º 13
0
    def get(self, request):
        # 进行选项
        option = request.GET.get('option', '')

        if option == '1' or option == '':
            lists = Notice.objects.all().order_by('-add_time')
        else:
            lists = Submission.objects.all().order_by('-add_time')

        # 进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(lists, 1, request=request)

        lists = p.page(page)

        return render(request, 'notice_list.html', {
            'name': '公示公告',
            'lists': lists,
            'option': option,
        })
Exemplo n.º 14
0
    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, 9, request=request)

        courses = p.page(page)

        return render(request, 'course-list.html', {
            'all_courses': courses,
            'sort': sort,
            'hot_courses': hot_courses,
        })
Exemplo n.º 15
0
    def get(self,request):
        all_articles = Film_article.objects.all().order_by("-create_date")

        hot_articles = Film_article.objects.all().order_by("-click_nums")[:3]



        # 电影搜索
        search_keywords = request.GET.get('keywords', "")
        if search_keywords:
            all_articles = all_articles.filter(
                Q(title__icontains=search_keywords))

        # 电影排序
        sort = request.GET.get('sort', "")
        if sort:
            if sort == "students":
                all_articles = all_articles.order_by("-students")
            elif sort == "hot":
                all_articles = all_articles.order_by("-click_nums")

        # 对电影进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_articles, 12, request=request)

        articles = p.page(page)

        return render(request, 'article-list.html', {
            "all_articles": articles,
            "sort": sort,
            "hot_articles": hot_articles
        })
Exemplo n.º 16
0
    def get(self, request):
        all_teachers = Teacher.objects.all()

        current_nav = "teacher"

        #课程讲师搜索
        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")

        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,
                "current_nav": current_nav
            })
Exemplo n.º 17
0
 def get(self, request):
     # 查询出所有的课程
     all_courses = Course.objects.all()
     # 热门课程推荐
     hot_courses = all_courses.order_by('-click_nums')[:3]
     # 排序
     sort_flag = request.GET.get('sort', '')
     # 搜索功能
     search_keywords = request.GET.get('keywords', '')
     # 做like语句的操作,i代表不区分大小写,or操作使用Q
     if search_keywords:
         all_courses = all_courses.filter(
             Q(name__icontains=search_keywords) | Q(desc__icontains=search_keywords) | Q(
                 detail__icontains=search_keywords))
     if sort_flag:
         if sort_flag == 'students':
             # 根据学习人数排序
             all_courses = all_courses.order_by('-students')
         elif sort_flag == 'hot':
             # 根据点击数排序
             all_courses = all_courses.order_by('-click_nums')
         else:
             # 默认,根据最新排序
             all_courses = all_courses.order_by('-add_time')
     # 分页
     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,
                       'hot_courses': hot_courses,
                   })
Exemplo n.º 18
0
    def get(self, request):
        all_teacher = Teacher.objects.all()
        sort = request.GET.get('sort', '')
        if sort == 'hot':
            all_teacher = all_teacher.order_by('-click_nums')

        # 搜索功能
        search_keywords = request.GET.get('keywords', '')
        if search_keywords:
            # 在name字段进行操作,做like语句的操作。i代表不区分大小写
            # or操作使用Q
            all_teacher = all_teacher.filter(
                Q(name__icontains=search_keywords))

        #讲师排行榜
        rank_teacher = Teacher.objects.all().order_by("-fav_nums")[:3]

        teacher_nums = all_teacher.count()

        # 分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_teacher, 4, request=request)
        teachers = p.page(page)

        return render(
            request, "teachers-list.html", {
                "all_teacher": teachers,
                "sort": sort,
                "teacher_nums": teacher_nums,
                "rank_teacher": rank_teacher,
                "search_keywords": search_keywords
            })
Exemplo n.º 19
0
    def get(self,request):
        kw=request.GET.get('kw')
        article_list = Article.objects.filter(Q(title__icontains=kw)|Q(content__icontains=kw))

        #分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        #取一页里显示多少条数据
        p = Paginator(article_list, per_page=5,request=request)
        #取当前页的数据 返回一个page对象
        article_list = p.page(page)

        tags=Tags.objects.all()#标签
        commends=Comment.objects.order_by('-create_time').all()#文章最新评论
        friennd = FriendLink.objects.all()
        a = []
        b = []
        for i in commends:
            if i.article.id not in a:
                a.append(i.article.id)
                b.append(i)
        return render(request, 'list.html', locals())
Exemplo n.º 20
0
    def get(self, request):
        all_courses = Course.objects.all().order_by('-add_time')
        hot_courses = Course.objects.all().order_by('-click_nums')[:2]
        # 分类排序
        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, 3, request=request)
        courses = p.page(page)

        return render(request, 'course/course-list.html', {
            'all_courses': courses,
            'sort': sort,
            'hot_courses': hot_courses,
        })
Exemplo n.º 21
0
    def get(self, request, year, month):
        web_title = 'record'
        web_func = 'record_archive'
        search_year = year
        search_month = month
        content_title = '<span style="color:orangered">' + str(search_year) + ' 年 ' + str(search_month)  + ' 月</span>归档记录'
        user_list = UserProfile.objects.all()
        tag_list = RecordTags.objects.all()

        records = FaultRecord.objects.filter(start_time__year=search_year, start_time__month=search_month)

        # 记录数量
        record_nums = records.count()

        # 判断页码
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        # 对取到的数据进行分页,记得定义每页的数量
        p = Paginator(records, 10, request=request)

        # 分页处理后的 QuerySet
        records = p.page(page)

        context = {
            'content_title': content_title,
            'web_title': web_title,
            'web_func': web_func,
            'records': records,
            'user_list': user_list,
            'tag_list': tag_list,
            'record_nums': record_nums,
        }
        return render(request, 'record/record_list.html', context=context)
Exemplo n.º 22
0
    def get_context_data(self, **kwargs):
        """
        获取系统用户,再获取用户的组  根据组 去判断  资产所属的资产项目 是否 有 读取的权限
        :return:  返回有 读取权限的资产
        """
        try:
            page = self.request.GET.get('page', 1)
        except PageNotAnInteger as e:
            page = 1
        p = Paginator(self.queryset,
                      getattr(settings, 'DISPLAY_PER_PAGE'),
                      request=self.request)

        asset_list = p.page(page)
        # 左侧导航站展开  "asset_active": "active",
        context = {
            "asset_active": "active",
            "asset_list_active": "active",
            "asset_list": asset_list,
            "web_ssh": getattr(settings, 'web_ssh'),
            "web_port": getattr(settings, 'web_port'),
        }
        kwargs.update(context)
        return super().get_context_data(**kwargs)
Exemplo n.º 23
0
    def get(request):
        all_teacher = Teacher.objects.all()
        sort = request.GET.get("sort", "")
        if sort:
            if sort == "hot":
                all_teacher = all_teacher.order_by("-click_nums")

        # 搜索功能
        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,
        })
Exemplo n.º 24
0
    def get(self,request,fandom_id):
        current_page = "fandom_video"
        fandom=QuanZi.objects.get(id=int(fandom_id))
        has_fav = False
        if request.user.is_authenticated:
            if UserFavorite.objects.filter(user=request.user, fav_id=fandom.id, fav_type=1):
                has_fav = True
        fandom_all_video=fandom.video_set.all()
        # 对视频分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        # Provide Paginator with the request object for complete querystring generatio
        p = Paginator(fandom_all_video, 6, request=request)
        all_video = p.page(page)
        return render(request,"fandom-detail-video.html",{
            "fandom_all_video":fandom_all_video,
            "fandom":fandom,
            "current_page": current_page,
            "has_fav ":has_fav,
            "all_video": all_video,

        })
Exemplo n.º 25
0
    def get(self, request, video_id):
        current_content = request.GET.get("current_content", 'chapter')
        video = Video.objects.get(id=video_id)

        relate_courses = get_relate_courses(video.chapter.course)
        course_resources = CourseResource.objects.filter(
            course=video.chapter.course)
        comments = CourseComments.objects.filter(
            course_id=video.chapter.course_id).order_by('-create_time')
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(comments, per_page=10, request=request)
        page_comments = p.page(page)
        return render(
            request, "course-play.html", {
                "course": video.chapter.course,
                "current_video": video,
                "course_resources": course_resources,
                "relate_courses": relate_courses,
                "current_content": current_content,
                "comments": page_comments
            })
Exemplo n.º 26
0
    def get(self, request, *args, **kwargs):
        all_orgs = CourseOrg.objects.all()

        all_city = City.objects.all()
        category = request.GET.get("ct", "")
        hot_orgs = all_orgs.order_by("-click_num")[:3]
        if category:
            all_orgs = all_orgs.filter(category=category)
        city_id = request.GET.get('city', "")
        city_name = ''
        if city_id:
            city = City.objects.get(id=int(city_id))
            city_name = city.name
            if city_id.isdigit():
                all_orgs = all_orgs.filter(city__id=city_id)
        sort = request.GET.get("sort", "")
        if sort:
            all_orgs = all_orgs.order_by(sort)
        org_nums = all_orgs.count()
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(all_orgs, per_page=10, request=request)
        orgs = p.page(page)
        return render(
            request, 'org-list.html', {
                "all_orgs": orgs,
                "org_nums": org_nums,
                "all_citys": all_city,
                "category": category,
                "city_id": city_id,
                "city_name": city_name,
                "sort": sort,
                "hot_orgs": hot_orgs
            })
Exemplo n.º 27
0
    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, 12, request=request)

        courses = p.page(page)

        return render(request, 'course-list.html', {
            "all_courses": courses,
            "sort": sort,
            "hot_courses": hot_courses
        })
Exemplo n.º 28
0
    def get(self, request):
        all_teachers = Teacher.objects.all()

        # 教师搜索
        search_keywords = request.GET.get('keywords', '')
        if search_keywords:
            # 不只搜索name字段
            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_num')

        #教师排行榜
        sorted_teacher = Teacher.objects.all().order_by('-click_num')[:3]

        #对教师列表进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_teachers, 1, request=request)

        all_teachers = p.page(page)

        return render(
            request, 'teachers-list.html', {
                'all_teachers': all_teachers,
                'sort': sort,
                'sorted_teacher': sorted_teacher,
            })
Exemplo n.º 29
0
    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_num")

        sorted_teachers = Teacher.objects.all().order_by("-click_num")[:3]

        # 对讲师进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        # Provide Paginator with the request object for complete querystring generation

        p = Paginator(all_teachers, 5, request=request)

        teachers = p.page(page)

        return render(
            request, "teachers-list.html", {
                'all_teachers': teachers,
                'sorted_teachers': sorted_teachers,
                'sort': sort,
            })
Exemplo n.º 30
0
    def get_context_data(self, **kwargs):
        try:
            page = self.request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        objects = GalleryFilter(self.request.GET,
                                queryset=Gallery.objects.filter(
                                    status=True).order_by('-id'))

        p = Paginator(objects, 12)

        page_obj = p.page(page)

        categories = GalleryCategory.objects.all()

        context = {
            'page_obj': page_obj,
            'categories_list': categories
        }

        context.update(kwargs)

        return context