Пример #1
0
def news(request):
    username = request.get_signed_cookie('username', default=0, salt='123')
    if username:
        # newsRet = models.get_news()[::-1]
        dataRet = models.get_data()

        page_info = PageInfo(
            request.GET.get('page'),
            len(newsRet),
            5,
            '/news',
        )
        news_list = newsRet[page_info.start():page_info.end()]

        return render(
            request,
            'news.html',
            {
                'username': username,
                'page_info': page_info,
                'news_list': news_list,
            },
        )
    else:
        return redirect('/login/')
Пример #2
0
def searchorder(request):
    type = request.GET.get("type")
    if type == "1":
        # 根据时间查找
        starttime = request.GET.get("starttime")
        endtime = request.GET.get("endtime")
        order_list = Orders.objects.filter(
            create_date__range=(starttime,
                                endtime)).values("order_id", "total_price",
                                                 "create_date", "finish_time",
                                                 "order_status")
        all_count = Orders.objects.filter(
            create_date__range=(starttime, endtime)).count()
        page_info = PageInfo(
            request.GET.get("page"), all_count, 10,
            'store/searchorder/?type=' + type + '&starttime=' + starttime +
            '&endtime=' + endtime)

        print(order_list)
    else:
        search_id = request.GET.get("search_id")
        order_list = Orders.objects.filter(
            order_id__contains=search_id).values("order_id", "total_price",
                                                 "create_date", "finish_time",
                                                 "order_status")
        all_count = Orders.objects.filter(order_id__contains=search_id).count()
        page_info = PageInfo(request.GET.get("page"), all_count, 10,
                             '/store/searchorder/',
                             '&type=' + type + '&search_id=' + search_id)
    order_list = order_list[page_info.start():page_info.end()]
    return render(request, "Store/OrderManage.html", {
        "order_list": order_list,
        "page_info": page_info
    })
Пример #3
0
def Promotion_list(request):
    user_id1 = request.session.get('user_id')
    user_obj = models.User.objects.filter(id=user_id1).values('avatar')
    all_count = models.Promotion.objects.all().count()
    page_info = PageInfo(request.GET.get('page'), all_count, 10, 'api_promotion.html', 11)
    promotion_list = models.Promotion.objects.all()[page_info.start():page_info.end()]
    user = request.session.get('user_name')
    return render(request, 'api_promotion.html', {'promotion_list': promotion_list, 'page_info': page_info,'user':user,'user_obj':user_obj[0]['avatar']})
Пример #4
0
def linux_operate_index(request):
    user_id1 = request.session.get('user_id')
    user_obj = User.objects.filter(id=user_id1).values('avatar')
    user = request.session.get('user_name')
    all_count = models.CmdbInfo.objects.all().count()
    page_info = PageInfo(request.GET.get('page'), all_count, 10, 'linux_operate.html', 11)
    ip_list = models.CmdbInfo.objects.all()[page_info.start():page_info.end()]
    return render(request,'linux_operate.html',{'ip_list':ip_list,'page_info':page_info,'user':user,'user_obj':user_obj[0]['avatar']})
Пример #5
0
def student(request, page):
    page_info = PageInfo(page,
                         models.Student.objects.all().count(), 10, '/student/',
                         11)

    student_list = models.Student.objects.all()[page_info.start():page_info.
                                                end()]
    class_list = models.Classes.objects.all()[page_info.start():page_info.end(
    )]
    print(models.Student.objects.all().count())
    print(class_list)
    return render(
        request, 'student.html', {
            'student_list': student_list,
            'class_list': class_list,
            'page_info': page_info
        })
Пример #6
0
def index(request):
    username = request.session.get('username', '')
    if not username:
        return redirect('/login/')

    all_count = Hosts.objects.all().count()
    page_info = PageInfo(request.GET.get('p'), 10, all_count, request.path_info, page_range=11)
    user_list = Hosts.objects.all().order_by('-id')[page_info.start():page_info.end()]
    return render(request, 'index.html', locals())
Пример #7
0
    def get(self, request, **kwargs):
        site = kwargs.get("site")
        blog = models.Blog.objects.filter(site=site).first()
        if blog:
            sort = kwargs.get("sort")
            sort_val = kwargs.get("sort_val")
            if sort == "tag":  # 按标签
                article_list = models.Article.objects.filter(
                    blog=blog, tags__nid=sort_val)
            elif sort == "category":  # 按分类
                article_list = models.Article.objects.filter(
                    blog=blog, category__nid=sort_val)
            elif sort == "date":
                article_list = models.Article.objects.filter(blog=blog).extra(
                    select={
                        "Year_month": 'strftime("%%Y-%%m",create_time)'
                    }).extra(where=["Year_month=%s"], params=[sort_val])
            else:  # 所有文章
                article_list = models.Article.objects.filter(blog=blog)
            """
                缺 year_month
            """

            # fans_objs = models.UserFans.objects.filter(user=blog.user)
            # myfollow_objs = models.UserFans.objects.filter(follower=blog.user)
            # tag_list = models.Article.objects.filter(blog=blog).values("tags__title","tags__nid").annotate(ct=Count("nid"))
            # category_list = models.Article.objects.filter(blog=blog).values("category__title","category__nid").annotate(ct=Count("nid"))
            # date_list = models.Article.objects.filter(blog=blog).extra(select={"Year_month":'strftime("%%Y-%%m",create_time)'}).values("Year_month").annotate(ct=Count("nid"))
            pageinfo = getlayout(blog)

            page_info = PageInfo(
                request.GET.get("page"),
                len(article_list),
                settings.HOMEPAGE_ITEMS_PER_PAGE,
                "",
            )
            # pageinfo["article_list"] = article_list.order_by("-create_time")
            pageinfo["article_list"] = article_list.order_by(
                "-create_time")[page_info.start():page_info.end()]
            pageinfo["page_info"] = page_info

            # pageinfo = {
            #     "blog": blog,
            #     "article_list": article_list.order_by("-create_time"),
            #     "fans_objs":fans_objs,
            #     "myfollow_objs":myfollow_objs,
            #     "tag_list":tag_list,
            #     "category_list":category_list,
            #     "date_list": date_list,
            # }

            return render(request, "blog/homepage.html", pageinfo)
        else:
            return redirect("/")
Пример #8
0
def test2(request):
    all_count = UserInfo.objects.all().count()
    page_info = PageInfo(request.GET.get('p'),
                         10,
                         all_count,
                         request.path_info,
                         page_range=7)
    user_list = UserInfo.objects.all().order_by(
        '-id')[page_info.start():page_info.end()]

    return render(request, 'test2.html', locals())
Пример #9
0
def custom(request):
    all_count = models.UserInfo.objects.count()

    page_info = PageInfo(request.GET.get('page'), all_count, 10, show_page=5)
    user_list = models.UserInfo.objects.all()[page_info.start():page_info.stop(
    )]

    return render(request, 'custom.html', {
        'user_list': user_list,
        'page_info': page_info
    })
Пример #10
0
def index(request):
    count = Article.objects.all().count()
    page_info = PageInfo(request.GET.get('page'), count, 8, '/userinfo/index/',
                         11)
    article_list = Article.objects.all()[page_info.start():page_info.end()]
    blogcategory = Category.objects.all()
    return render(
        request, "index.html", {
            "article_list": article_list,
            'page_info': page_info,
            "blogcategory": blogcategory
        })
Пример #11
0
def index(request):
    # 表示用户想要访问的页
    # 每页显示数据
    all_count = Article.objects.all().count()

    page_info = PageInfo(request.GET.get("page"), all_count, 5, '/index.html')
    article_list = Article.objects.all().order_by("-create_date").values(
        "article_id", "title", "article_content", "uid__username",
        "create_date", "uid")[page_info.start():page_info.end()]
    return render(request, "index.html", {
        "article_list": article_list,
        "page_info": page_info
    })
Пример #12
0
def classes(request, page):
    # class_list = mysql_result('select id,class_name from class')
    # page = request.GET.get('page')
    page_info = PageInfo(page,
                         models.Classes.objects.all().count(), 10, '/classes/',
                         11)

    class_list = models.Classes.objects.all()[page_info.start():page_info.end(
    )]

    return render(request, 'classes.html', {
        "classes_list": class_list,
        'page_info': page_info
    })
Пример #13
0
def custom(request):
    # 表示用户想要访问的页码
    all_count = models.UserInfo.objects.all().count()
    current_page = request.GET.get('page')
    # 每页显示的数据个数
    pageinfo = PageInfo(current_page, all_count, 10, 5, 'custom')
    start = pageinfo.start()
    end = pageinfo.end()
    user_list = models.UserInfo.objects.all()[start:end]
    # django中也有安全标签 xss攻击慎用 safe和mark_safe
    # from django.utils.safestring import mark_safe
    # user_list = mark_safe(user_list)
    return render(request, 'custom.html', {
        'user_list': user_list,
        'pageinfo': pageinfo
    })
Пример #14
0
def custom(request):
    #表示用户当前想要访问的页码 8
    current_page = int(request.GET.get('page'))
    #每页显示数据的个数
    per_page = 10

    #总个数
    num_userinfo = models.UserInfo.objects.all().count()
    # num_userinfo =models.UserInfo.objects.filter(id__lt=22).count()

    page_info = PageInfo(current_page, per_page, num_userinfo, 11,
                         '/custom.html')
    userlist = models.UserInfo.objects.all()[page_info.start():page_info.end()]
    return render(request, 'custom.html', {
        'userlist': userlist,
        'page_info': page_info
    })
Пример #15
0
def custom(request):
    # # 表示用户当前想要访问的页码 8
    # current_page = request.GET.get('page')
    # current_page = int(current_page)
    # # 每页显示的数据的个数
    # per_page = 10

    # start = (current_page-1)*per_page
    # end = current_page*per_page

    # user_list = models.UserInfo.objects.all()[start: end]

    all_count = models.UserInfo.objects.all().count()

    page_info = PageInfo(request.GET.get('page'), all_count, 10, '/custom.html',)
    user_list = models.UserInfo.objects.all()[page_info.start():page_info.end()]

    return render(request, 'custom.html', {'user_list': user_list, 'page_info':page_info,})
Пример #16
0
def ordermanage(request):
    store_info = request.session.get("store_info")
    store_id = store_info["store_id"]
    order_list = Orders.objects.filter(order_store_id=store_id,
                                       order_status__gte=1).values(
                                           "order_id", "total_price",
                                           "create_date", "finish_time",
                                           "order_status")
    all_count = Orders.objects.filter(order_store_id=store_id,
                                      order_status__gte=1).count()
    print(all_count)
    page_info = PageInfo(request.GET.get("page"), all_count, 10,
                         '/store/ordermanage', "")
    order_list = order_list[page_info.start():page_info.end()]
    return render(request, "Store/OrderManage.html", {
        "order_list": order_list,
        "page_info": page_info
    })
Пример #17
0
    def get(self, request, *args, **kwargs):
        userinfo = request.session.get("userinfo")

        if not userinfo:
            # 未登录
            return redirect("/login.html")
        else:
            # site_url = kwargs.pop("site")
            site_session = userinfo.get("site")
            # if site_url != site_session:  # 不是自己的后台管理页面
            #     return redirect("/")
            # else:  # 是自己的后台管理页面
            condition = {}
            for k, v in kwargs.items():
                if v and v != "0":
                    condition[k] = v
            user_id = userinfo["user_id"]
            tag_objs = models.Tag.objects.filter(blog__user_id=user_id)
            category_objs = models.Category.objects.filter(
                blog__user_id=user_id)
            type_list = models.Article.type_choices

            article_objs = models.Article.objects.filter(
                blog__user_id=user_id, **condition).order_by("-create_time")
            page_info = PageInfo(
                request.GET.get("page"),
                article_objs.count(),
                settings.BACKEND_ITEMS_PER_PAGE,
                "",
            )
            article_objs = article_objs[page_info.start():page_info.end()]
            response = {
                "tag_objs": tag_objs,
                "category_objs": category_objs,
                "type_list": type_list,
                "article_objs": article_objs,
                "myurl": kwargs,
                "page_info": page_info,
                # "condition":condition,
            }
            return render(request, "blog/backend_article_manage.html",
                          response)
Пример #18
0
    def get(self, request, *args, **kwargs):
        # 获取当前URL
        # print(request.path_info)

        condition = {}
        type_id = int(kwargs.get("type_id")) if kwargs.get("type_id") else None
        if type_id:
            condition['article_type_id'] = type_id

        # article_list = models.Article.objects.filter(**condition)

        type_choice_list = models.Article.type_choices

        # 分页
        target_Article_objs = models.Article.objects.filter(
            **condition).order_by("-create_time")
        all_count = target_Article_objs.count()
        # all_count = models.Article.objects.filter(**condition).count()  # 查询符合条件的条目数量
        page_info = PageInfo(
            request.GET.get("page"),
            all_count,
            settings.INDEX_ITEMS_PER_PAGE,
            "",
        )
        # article_list = models.Article.objects.filter(**condition)[page_info.start():page_info.end()]
        article_list = target_Article_objs[page_info.start():page_info.end()]
        # print(article_list[0].blog.user.avatar)
        # 取多少个值,可能存在少于10个的情况
        TOP10_amount = 10 if all_count >= 10 else all_count
        most_up_count = target_Article_objs.order_by(
            "-up_count")[:TOP10_amount]
        most_comment_count = target_Article_objs.order_by(
            "-comment_count")[:TOP10_amount]
        return render(
            request, "blog/index.html", {
                "type_choice_list": type_choice_list,
                "article_list": article_list,
                "type_id": type_id,
                "page_info": page_info,
                "most_up_count": most_up_count,
                "most_comment_count": most_comment_count,
            })
Пример #19
0
def show_my_article(request):
    userinfo = request.session.get("userinfo")
    if userinfo:
        all_count = Article.objects.all().count()
        page_info = PageInfo(request.GET.get("page"), all_count, 10,
                             '/show_my_article')
        user_id = userinfo[0].get('user_id')
        article_list = Article.objects.filter(
            state=1, uid=user_id).all().values_list(
                "article_id", "title", "create_date",
                "last_updatetime")[page_info.start():page_info.end()]
        print(article_list, type(article_list))
        for i in article_list:
            print(i)
        return render(request, "show_my_article.html", {
            "article_list": list(article_list),
            "page_info": page_info
        })
    else:
        return redirect("/login.html")
Пример #20
0
def article_manage(request, *args, **kwargs):
    nid = request.session.get('user_id')
    if not nid:
        return redirect('/index.html')
    blog = models.Blog.objects.filter(user_id=nid).first()

    condition = {}
    for k, v in kwargs.items():
        kwargs[k] = int(v)
    for k, v in kwargs.items():
        if v != 0:
            condition[k] = v
    condition["blog__user__nid"] = nid
    # print(condition)
    type_list = models.Article.type_choices
    # 个人分类
    category_list = models.Category.objects.filter(blog__user__nid=nid)
    # 个人标签
    tag_list = models.Tag.objects.filter(blog__user__nid=nid)

    #分页
    my_page = request.GET.get('page')
    my_url = request.path_info
    obj_count = models.Article.objects.filter(**condition).count()
    page_info = PageInfo(my_page, obj_count, 5, my_url, 11)
    obj = models.Article.objects.filter(
        **condition)[page_info.start():page_info.end()]

    return render(
        request, 'article_manage.html', {
            'res': kwargs,
            'obj': obj,
            'type_list': type_list,
            'obj_count': obj_count,
            'category_list': category_list,
            'tag_list': tag_list,
            'page_info': page_info,
            'blog': blog
        })
Пример #21
0
def home(request, *args, **kwargs):
    """
    网站主页
    :param request:
    :param args:
    :param kwargs:
    :return:
    """
    # print(kwargs)
    condition = {}
    type_id = int(kwargs.get("type_id")) if kwargs.get("type_id") else None
    if type_id:
        condition["article_type_id"] = type_id
    article_list = models.Article.objects.filter(**condition)
    type_choice_list = models.Article.type_choices
    all_count = models.Article.objects.all().count()
    page_info = PageInfo(request.GET.get("page"), all_count, 5, "/home/", 11)
    articles = article_list[page_info.start():page_info.end()]
    if request.session.get("username"):
        username = request.session["username"]
        obj = models.UserInfo.objects.filter(username=username).first()
        return render(
            request, "home.html", {
                "type_choice_list": type_choice_list,
                "articles": articles,
                "type_id": type_id,
                "obj": obj,
                "page_info": page_info,
            })
    else:
        return render(
            request, "home.html", {
                "type_choice_list": type_choice_list,
                "articles": articles,
                "type_id": type_id,
                "page_info": page_info,
            })
Пример #22
0
def index(request, *args, **kwargs):
    """
    :param obj: 主站分类,Python,Golang
    :param args:
    :param kwargs: 点击的主站ID
    :return:
    """
    user_id = request.session.get('user_id')
    if not user_id:
        userinfo = None
    # 登录过,传登录帐号信息
    else:
        userinfo = models.UserInfo.objects.filter(nid=user_id).first()
        #
    obj = models.Article.type_choices
    condition = {}
    type_id = int(kwargs.get('type_id')) if kwargs.get('type_id') else None
    if type_id:
        condition['article_type_id'] = type_id

    my_page = request.GET.get('page')
    count = models.Article.objects.filter(**condition).count()
    my_url = request.path_info
    #分页ul
    page_info = PageInfo(my_page, count, 3, my_url, 11)
    #页面显示的文章
    user_list = models.Article.objects.filter(
        **condition)[page_info.start():page_info.end()]
    return render(
        request, 'index.html', {
            'tag': obj,
            'page_info': page_info,
            'user_list': user_list,
            'type_id': type_id,
            'userinfo': userinfo
        })
Пример #23
0
def manage(request, site, **kwargs):
    condition = {}
    for k, v in kwargs.items():
        kwargs[k] = int(v)
        if v != '0':
            condition[k] = v
    # print(condition)
    obj = models.Blog.objects.filter(site=site).first()
    # 大分类
    type_list = models.Article.type_choices
    # 个人分类
    category_list = models.Category.objects.filter(blog_id=obj.nid)
    # 个人标签
    tag_list = models.Tag.objects.filter(blog_id=obj.nid)
    # 进行筛选
    condition['blog_id'] = obj.nid
    article_list = models.Article.objects.filter(**condition)
    all_count = article_list.count()
    page_info = PageInfo(request.GET.get("page"), all_count, 5,
                         "/" + site + "/manage-0-0-0.html", 11)
    articles = article_list[page_info.start():page_info.end()]

    return render(
        request,
        'manage.html',
        {
            'type_list': type_list,
            'category_list': category_list,
            'tag_list': tag_list,
            # 'article_list':article_list,
            'articles': articles,
            "page_info": page_info,
            'kwargs': kwargs,
            'site': site,
            'obj': obj,
        })
Пример #24
0
def user(request, *args, **kwargs):
    site = kwargs.get('site')
    family = kwargs.get('family')

    my_page = request.GET.get('page')
    my_url = request.path_info
    #当有筛选
    if family:
        nid = kwargs.get('nid')
        if family == 'tags':
            count = models.Article.objects.filter(blog__site=site,
                                                  tags__nid=nid).count()
            page_info = PageInfo(my_page, count, 3, my_url, 11)
            obj = models.Article.objects.filter(
                blog__site=site,
                tags__nid=nid)[page_info.start():page_info.end()]
        elif family == 'category':
            count = models.Article.objects.filter(blog__site=site,
                                                  category__nid=nid).count()
            page_info = PageInfo(my_page, count, 3, my_url, 11)
            obj = models.Article.objects.filter(
                blog__site=site,
                category__nid=nid)[page_info.start():page_info.end()]
        else:
            count = models.Article.objects.filter(create_time__startswith=nid,
                                                  blog__site=site).count()
            page_info = PageInfo(my_page, count, 3, my_url, 11)
            obj = models.Article.objects.filter(
                create_time__startswith=nid,
                blog__site=site)[page_info.start():page_info.end()]

    #没有筛选,个人全部博客
    else:
        count = models.Article.objects.filter(blog__site=site).count()
        page_info = PageInfo(my_page, count, 3, my_url, 11)
        obj = models.Article.objects.filter(
            blog__site=site)[page_info.start():page_info.end()]

    #分类函数
    cate_list = models.Article.objects.filter(blog__site=site).values(
        'category__title', 'category__nid').annotate(c=Count('nid'))
    tags_list = models.Article.objects.filter(blog__site=site).values(
        'tags__title', 'tags__nid').annotate(c=Count(1))
    #mysql查询
    # date_list = models.Article.objects.filter(blog__site=site).extra(select={'c':'DATE_FORMAT(create_time,"%%Y-%%m")'}).values('c').annotate(ct=Count('nid'))
    #sqlite3查询
    # date_list = models.Article.objects.filter(blog__site=site).extra(select={'c':'strftime("%%Y-%%m",create_time)'}).\
    #     values('c').annotate(ct=Count('nid'))

    blog_msg = models.Blog.objects.filter(site=site).first()
    # blog_time = models.Article.objects.filter(blog__site=site,create_time__year=2017).values('create_time').annotate(c=Count(1))
    # print(blog_time)

    return render(
        request,
        'home.html',
        {
            'obj': obj,
            'blog_msg': blog_msg,
            # 'date_list':date_list,
            'cate_list': cate_list,
            'tags_list': tags_list,
            'page_info': page_info
        })
Пример #25
0
def date_time(request, *args, **kwargs):
    """
    个人文章分类页面
    :param request:
    :param args:
    :param kwargs:
    :return:
    """
    # return HttpResponse(11111111111)
    blog_site = kwargs.get("site")  # 当前用户的博客后缀
    date_time = kwargs.get("date_time")
    blog = models.Blog.objects.filter(site=blog_site).first()  # 当前博客对象
    obj = blog.user  # 当前博客用户对象
    date_list = models.Article.objects.filter(
        blog=blog
    ).extra(select={
        "c":
        "select strftime('%%Y-%%m',create_time) from app01_article where strftime('%%Y-%%m',create_time)=%s"
    },
            select_params=date_time)
    # ---------------------分页
    all_count = date_list.count()
    page_info = PageInfo(request.GET.get("page"), all_count, 5,
                         "/" + blog_site + "/date_time=" + date_time + "/", 11)
    articles = date_list[page_info.start():page_info.end()]
    # ---------------------分页
    followers = models.UserFans.objects.filter(user_id=obj.nid).count()  # 粉丝数量
    users = models.UserFans.objects.filter(follower_id=obj.nid).count()  # 关注数量

    # tag_list=models.Article2Tag.objects.filter(tag__blog=blog).values("tag_id","tag__title").annotate(c=Count("id"))
    # print(tag_list)#标签名字和统计数量列表--方法一
    tag_list = models.Article.objects.filter(blog=blog).values(
        "tags__nid", "tags__title").annotate(c=Count("nid"))
    # print(tag_list)#标签名字和统计数量列表--方法二
    category_list = models.Article.objects.filter(blog_id=blog.nid).values(
        "category_id",
        "category__title",
    ).annotate(c=Count("nid"))
    # print(category_list)#分类名字和统计数量列表
    date_list = models.Article.objects.filter(blog=blog).extra(
        select={
            "c": "strftime('%%Y-%%m',create_time)"
        }).values("c").annotate(ct=Count("nid"))
    # print(date_list)#时间分类
    if request.session.get("username"):
        current_name = request.session.get("username")
        current_obj = models.UserInfo.objects.filter(
            username=current_name).first()
        return render(
            request, "datatime.html", {
                "articles": articles,
                "obj": obj,
                "current_obj": current_obj,
                "page_info": page_info,
                "followers": followers,
                "users": users,
                "tag_list": tag_list,
                "category_list": category_list,
                "date_list": date_list,
            })
    else:
        return render(
            request, "datatime.html", {
                "articles": articles,
                "obj": obj,
                "current_obj": None,
                "page_info": page_info,
                "followers": followers,
                "users": users,
                "tag_list": tag_list,
                "category_list": category_list,
                "date_list": date_list,
            })