• Django系列操作


    每次用到都去百度找....找的还不行~~得自己改~~耗时耗力虽然不难~~~直接贴代码记录下方便自己用~~~~

    Django之分页

    定义成一个块,直接引用到对应的位置即可。。。

    <div class="container">
        <nav aria-label="Page navigation">
          <ul class="pagination">
    
            <!--上一页-->
            <li class="{% if not page_info.page.has_previous %}disabled{% endif %}">
              {% if page_info.page.has_previous %}
                <a href="{{ url }}?page={{ page_info.page.previous_page_number }}" aria-label="Previous">
              {% endif %}
                <span aria-hidden="true">&laquo;</span>
              </a>
            </li>
    
            <!--页码-->
            <!--这里展示页码使用传递过来的dis_range -->
            {% for num in page_info.dis_range %}
            <li class="{% if num == page_info.page.number %}active{% else %}{% endif %}" >
              <a href="{{ url }}?page={{ num }}">{{ num }}</a>
            </li>
            {% endfor %}
    
            <!--下一页-->  
            <li class="{% if not page_info.page.has_next %}disabled{% endif %}">
              {% if page_info.page.has_next %}
                <a href="{{ url }}?page={{ page_info.page.next_page_number }}" aria-label="Next">
              {% endif %}
                <span aria-hidden="true">&raquo;</span>
              </a>
            </li>
    
          </ul>
        </nav>
      </div>
    前端代码

    直接将下面代码复制,然后调用方法,传入的参数必须为可迭代对象。

    • data["page"]为内容
    • data为页码

    def create_page(request, object_list, per_page=20):
        '''
    
        :param request:
        :param obj_list:
        :param page_shows: 每页显示多少数据
        :return:
        '''
        paginator = Paginator(object_list, per_page)
        # 取出当前需要展示的页码, 默认为1
        page_num = request.GET.get('page', default='1')
        # 根据页码从分页器中取出对应页的数据
        try:
            page = paginator.page(page_num)
        except PageNotAnInteger as e:
            # 不是整数返回第一页数据
            page = paginator.page('1')
            page_num = 1
        except EmptyPage as e:
            # 当参数页码大于或小于页码范围时,会触发该异常
            print('EmptyPage:{}'.format(e))
            if int(page_num) > paginator.num_pages:
                # 大于 获取最后一页数据返回
                page = paginator.page(paginator.num_pages)
            else:
                # 小于 获取第一页
                page = paginator.page(1)
    
        # 这部分是为了再有大量数据时,仍然保证所显示的页码数量不超过10,
        page_num = int(page_num)
        if page_num < 6:
            if paginator.num_pages <= 10:
                dis_range = range(1, paginator.num_pages + 1)
            else:
                dis_range = range(1, 11)
        elif (page_num >= 6) and (page_num <= paginator.num_pages - 5):
            dis_range = range(page_num - 5, page_num + 5)
        else:
            dis_range = range(paginator.num_pages - 9, paginator.num_pages + 1)
        data = {
            "page": page,
            "paginator": paginator,
            "dis_range": dis_range,
        }
        return data
    Python代码

    Django之请求时获取数组

    不经常用.....每次用就想不起来~~百度的方式也要百度几次才能找到合适的答案

    item_list = request.GET.getlist("item_list[]")
    
    # 为什么要加这个[]?因为我用的是ajax的请求方式,ajax会自动在后面添加一个[],form提交方式不需要。
    View Code

    生成requirements.txt文件

    在Pycharm中>打开Django项目>打开Terminal框>输入下面命令,即可!

    pip3 freeze > requirements.txt  # 生成
    
    pip3 install -r requirements.txt  # 安装命令

    定时任务

    更新中.................

  • 相关阅读:
    将"089,0760,009"变为 89,760,9
    单向循环链表
    双链表复习
    【C语言】scanf()输入浮点型数据
    【C语言】一元二次方程(求实根和虚根)
    输入一个三位正整数,输出百位数,十位数,个位数
    输入身份证号,输出出生日期
    比较四个数的大小
    比较三个数的大小
    比较两个数的大小
  • 原文地址:https://www.cnblogs.com/Dream-huang/p/10864186.html
Copyright © 2020-2023  润新知