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/')
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 })
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']})
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']})
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())
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())
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("/")
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 })
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 })
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 })
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 })
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 })
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 })
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,})
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 })
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)
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, })
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")
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 })
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, })
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 })
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, })
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 })
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, })
def custom(request): all_count = models.UserInfo.objects.all().count() page_info = PageInfo(request.GET.get('page'), all_count, 20, '/custom.html', 11) 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})