Django中的装饰器,分页,

装饰器:
加入要给一些界面加一个登录权限:
直接上代码

在utils里面:

#装饰器,判断用户是否登录
def require_login(fn):

    def inner(request,*args, **kwargs):
        if request.session.has_key("loginUser"):
            logging.warning("该用户已经登录,视图函数正常访问")
            return fn(request, *args, **kwargs)
        else:
            logging.warning("请先登录!!")
            return render(request,"demo/login.html", {"msg": "当前操作必须登录,请先登录系统"})
    return inner

然后在views里面可以直接调用

分页:

django提供了一个非常简单的分页方法,直接上代码:
from django.core.paginator import Paginator
def index(request):
   # logger = logging.getLogger("django")
    #logger.warning("首页开始运行了……")

    #在缓存中获取数据
    articles =  cacheUtils.getAllArticle()
    
    pageSize = int(request.GET.get("pageSize", settings.PAGE_SIZE))
    pageNow = int(request.GET.get("pageNow", 1))
    paginator = Paginator(articles, pageSize)
    page = paginator.page(pageNow)

    return render(request, "blog/index1.html", {"page": page, "pageSize": pageSize})


在前端界面上:
{% for at in page.object_list %}

{{at.title}}

{{at.content | safe}}
169 18 200  {{at.publishtime}}
{% endfor %}

基本上都是固定用法,可以直接照搬代码。

你可能感兴趣的:(Django中的装饰器,分页,)