You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.6 KiB

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
# Create your views here.
#渲染主页面
from post.models import Post
from django.core.paginator import Paginator
import math
def queryAll(request,num=1):
num = int(num)
#获取所有帖子信息
postList = Post.objects.all().order_by('-created')
#创建分页器对象
pageObj = Paginator(postList,1)
#获取当前页的数据
perPageList = pageObj.page(num)
#生成页码数列表
# 每页开始页码
begin = (num - int(math.ceil(10.0 / 2)))
if begin < 1:
begin = 1
# 每页结束页码
end = begin + 9
if end > pageObj.num_pages:
end = pageObj.num_pages
if end <= 10:
begin = 1
else:
begin = end - 9
pageList = range(begin, end + 1)
return render(request,'index.html',{'postList':perPageList,'pageList':pageList,'currentNum':num})
#阅读全文功能
def detail(request,postid):
postid = int(postid)
#根据postid查询帖子的详情信息
post = Post.objects.get(id=postid)
return render(request,'detail.html',{'post':post})
#根据类别id查询所有帖子
def queryPostByCid(request,cid):
postList = Post.objects.filter(category_id=cid)
# Post.objects.filter(category__id=cid)
return render(request,'article.html',{'postList':postList})
#根据发帖时间查询所有帖子
def queryPostByCreated(request,year,month):
postList = Post.objects.filter(created__year=year,created__month=month)
return render(request,'article.html',{'postList':postList})