Djano 分页 day3 html_helper.py

本文详细介绍了一种在Django框架中实现自定义分页器的方法,通过PageInfo类的start和end属性来确定每页显示的数据范围,并利用Pager函数生成页面导航链接,实现了灵活的分页功能。
day3:
     将startr 和 end 值加入html_helper.py 更加方便导入
 
  
1:????
     11 个 页码

如果 总页数 < 11
    1-总页数

else:
    当前页 < 6:
        1 - 11

    当前页 > 6:
        如果 当前页 + 5 》 总页数
            当前页 + 5 ---  总页数

        当前页 -5 -- 当前页 + 5

2:输入
    page  当前页数
    num     总页数
    per_item 默认值为5

  输出
     start  
     end
     all_page_count

3:使用类会产生 start 和 end 页数上数据的起始和结尾的; all_page_count:总页数

  

#!/usr/bin/env python
#coding:utf-8
from django.utils.safestring import mark_safe
class PageInfo:
   
    def __init__(self,current_page,all_count,per_item=5):
        self.CurrentPage = current_page
        self.AllCont = all_count
        self.PerItem=per_item
       
       
    @property
    def start(self):   #页数产生开始的数据
        #start = (page-1)*per_item
        return  (self.CurrentPage-1) * self.PerItem
   
    @property
    def end(self):     #页数产生结尾的数据
        #end = page*per_item
        return self.CurrentPage * self.PerItem
   
    @property
    def all_page_count(self):
        """
        tem = divmod(num, per_item) #判断有多少页数,映射再html
        if tem[1] == 0:
            all_page_count = tem[0]
        else:
            all_page_count = tem[0]+1
        """
        tem = divmod(self.AllCont, self.PerItem) #判断有多少页数,映射再html
        if tem[1] == 0:
            all_page_count = tem[0]
        else:
            all_page_count = tem[0]+1
        return all_page_count
   
           
def Pager(page,all_page_count):
    """
    page:当前页数
    all_page_count:总页数
    """
    html_stack = []  #html 上的页数堆积 
    frist_html = "<a href='/start/index/%d'>首页</a>" %(1)
    html_stack.append(frist_html)
   
   
    perv_html = "<a href='/start/index/%d'>上一页</a>" %(page-1)
    html_stack.append(perv_html)
   
    begin = page - 6
    end = page + 5
   
    if all_page_count < 11:
        begin = 0
        end = all_page_count
    else:
        if page < 6:
            begin = 0
            end = 11
        else:
            if page + 6 > all_page_count:
                begin = page - 6
                end = all_page_count
               
            else:
                begin = page - 6
                end = page + 5
    for i in range(begin,end):
        if page== (i+1):
            a_html = "<a style ='color:red;' href='/start/index/%d'>%d</a>" %(i+1,i+1)
        else:
            a_html = "<a href='/start/index/%d'>%d</a>" %(i+1,i+1)
        html_stack.append(a_html)
    next_html = "<a href='/start/index/%d'>下一页</a>" %(page+1)
    html_stack.append(next_html)       
   
    end_html = "<a href='/start/index/%d'>尾页</a>" %(all_page_count)
    html_stack.append(end_html)
   
   
    return mark_safe(''.join(html_stack))#将列表转换为一个大字符串

  按计划做事》》》》》》》》》》》》》》》》

转载于:https://www.cnblogs.com/Xkay/p/6746243.html

`split_build_helper.py` 是 MTK(联发科)在其 Android 开发和构建流程中提供的一个脚本工具,主要用于协助进行部分模块的独立编译与构建。该脚本通常用于处理特定分区或组件的构建任务,尤其在需要对系统镜像进行分块生成时非常关键。 ### 作用 1. **支持模块化构建** `split_build_helper.py` 可以针对特定模块(如 A12、AGN 等)执行局部构建,而不是重新编译整个系统镜像。这对于调试和快速迭代开发非常有用[^1]。 2. **控制构建顺序** 在复杂的 Android 构建流程中,不同模块之间可能存在依赖关系。此脚本可以确保某些模块先于其他模块构建,从而避免因依赖问题导致的构建失败。 3. **日志记录与调试支持** 通过重定向输出并记录到日志文件(如 `total_build1.log`),开发者可以方便地追踪构建过程中的详细信息,便于调试和问题定位。 4. **与 MTK 定制工具链集成** 该脚本是 MTK 提供的一套构建辅助工具的一部分,通常与其他构建脚本(如 `build_image.py`)配合使用,确保最终生成的镜像符合平台规范[^2]。 --- ### 使用方法 基本命令格式如下: ```bash python vendor/mediatek/proprietary/scripts/releasetools/split_build_helper.py --run <target_name> --layers <layer_name> ``` - `<target_name>`:指定目标构建配置,例如 `full_AGN_2263RD_DS12848_T-userdebug`。 - `--layers`:指定构建层级,例如 `vnd` 表示 vendor 层级的构建。 还可以结合 shell 的重定向功能将输出保存至日志文件: ```bash python vendor/mediatek/proprietary/scripts/releasetools/split_build_helper.py --run full_AGN_2263RD_DS12848_T-userdebug --layers vnd 2>&1 | tee total_build1.log ``` 上述命令将标准错误输出合并到标准输出,并通过 `tee` 命令同时显示在终端并写入日志文件。 --- ### 相关操作建议 - **确认构建环境完整性** 在运行该脚本之前,应确保 Android 构建环境已经正确设置,包括必要的环境变量和依赖项安装。 - **查看帮助信息** 可以通过添加 `--help` 参数来查看脚本支持的选项和用法说明: ```bash python vendor/mediatek/proprietary/scripts/releasetools/split_build_helper.py --help ``` - **配合 build_image.py 使用** 在完成模块构建后,通常还需要调用 `build_image.py` 来生成最终的镜像文件,如 `system.img` 或 `vendor.img`,具体命令可参考其调用方式[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值