美文网首页
Django中的装饰器,分页,

Django中的装饰器,分页,

作者: He | 来源:发表于2018-10-15 21:27 被阅读0次

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

在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})


在前端界面上:
<div class="col-md-8">
            <!--<div class="page-header">-->
            <!--<h3>热门文章 <small>这里能找到技术前沿的各位大神的文章内容</small></h3>-->
            <!--</div>-->
            <div class="row author-article">
                <div class="tab-content">
                    <div role="tabpanel" class="tab-pane active" id="home">
                        {% for at in page.object_list %}
                        <div class="media">
                            <div class="media-body">
                                <h4 class="media-heading"><a href="{% url 'demo:show_article' at.id %}">{{at.title}}</a></h4>
                                {{at.content | safe}}
                            </div>
                            <div class="media-left media-middle">
                                <a href="#">
                                    <img class="media-object " src="/static/demo/image/articles/1.jpg" alt="图片">
                                </a>
                            </div>
                            <div class="media-bottom text-muted">
                                <span class="glyphicon glyphicon-eye-open">169</span>
                                <span class="glyphicon glyphicon-comment">18</span>
                                <span class="glyphicon glyphicon-heart">200</span>
                                <span>&nbsp;{{at.publishtime}}</span>

                            </div>
                        </div>
                        {% endfor %}
                    </div>
                    <nav aria-label="Page navigation">
                      <ul class="pagination">

                          {% if page.has_previous %}
                           <li>
                              <a href="/demo/index?page_now={{page.previous_page_number}}" aria-label="Previous">
                                <span aria-hidden="true">&laquo;</span>
                              </a>
                            </li>
                          {% endif %}

                          {% for p in page.paginator.page_range %}
                            <li><a href="/demo/index/?page_now={{p}}">{{p}}</a></li>
                          {% endfor %}

                           {% if page.has_next %}
                           <li>
                               <a href="/demo/index?page_now={{page.next_page_number}}" aria-label="Next">
                                   <span aria-hidden="true">&raquo;</span>
                               </a>
                            </li>
                          {% endif %}

                      </ul>
                    </nav>
                </div>
            </div>
        </div>

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

相关文章

  • Django中的装饰器,分页,

    装饰器:加入要给一些界面加一个登录权限:直接上代码 分页: 基本上都是固定用法,可以直接照搬代码。

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

  • Flask ----- 前端页面分页器对象

    Flask和Django都有的分页器类 Pageinations 分页器对象属性和方法 分页流程示例 借书管理系统...

  • Django之分页器

    Django自带分页器的实现 介绍 Django提供了一个新的类来帮助你管理分页数据,这个模块存放在django....

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • rest_framework 分页

    和django一样,rest_framework也有自己的分页器,且rest_framework的分页器是基于dj...

  • Django常用-分页

    分页 Django提供了数据分页的类,这些类被定义在django/core/paginator.py中。 类Pag...

  • django 中间件 是什么玩意

    个人理解,中间件就是一个全局装饰器django middleware 官方文档 如何创建自定义Django中...

  • 分页器&批量插入数据&分页模板

    1. 分页器: 1.1 导入 ​ from django.core.paginator import Pagi...

  • Django学习(八)- 分页器

    Django集成了一个分页器帮助我们管理数据——Paginator 1. 引用 from django.core....

网友评论

      本文标题:Django中的装饰器,分页,

      本文链接:https://www.haomeiwen.com/subject/hhuqzftx.html