码迷,mamicode.com
首页 > 其他好文 > 详细

03 辅助函数三

时间:2019-06-17 17:21:49      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:join   active   上传图片   sts   tab   图片   内容   span   跳转   

  返回结构化数据

1 def ajaxReturn(info,data={}):
2     import json
3     info[data] = data
4     return json.dumps(info)

  递归tree

1 def get_tree(data,pid=0,level=0):
2     data_list = []
3     for info in data:
4         if info[pid] == pid:
5             info[level] = level
6             info[name] = ^-^ *level +  info[name]
7             data_list.append(info)
8             data_list += get_tree(data, info[id], level + 1)
9     return data_list

  获取总页数

1 def get_total_page(total):
2     from flask import current_app
3     import math
4     try:
5         pagesize = current_app.config[PAGESIZE]
6     except:
7         pagesize = 5
8     return math.ceil(total/pagesize)

  分页试图函数

 1 def getHtmlPage(page=1,url=‘‘,total=0):
 2     ‘‘‘
 3     * 获取分页的html内容
 4     * url 跳转链接
 5     * total 总条数
 6     * p = 起始页码
 7     ‘‘‘
 8     from flask import current_app
 9     import math
10     try:
11         pagesize = current_app.config[PAGESIZE]
12     except:
13         pagesize = 5
14     # 总页数
15     pages = math.ceil(total/pagesize)
16     # 最多显示10个页码
17     _pageNum = 10
18     # 如果当前页面小于1 则为1,否则就是其值
19     page = 1 if page < 1 else page
20     # 如果当前页数大于总数页数,则为总页数 否则为其页数
21     page = pages if page > pages else page
22     # 总页数小于当前页 则为当前页
23     pages = page if pages < page else pages
24 
25     # 计算开始页
26     _start = page - math.floor(_pageNum/2)
27     _start = 1 if _start < 1 else _start
28 
29     # 计算结束页
30     _end = page + math.floor(_pageNum/2)
31     _end = pages if _end > pages else _end
32 
33     # 显示当前的页码数
34     _currentPageNum = _end - _start + 1
35 
36     # 如果当前页码数不够最大页码数,左右调整
37     # 左调整
38     if _currentPageNum < _pageNum and _start > 1 :
39         _start = _start - (_pageNum - _currentPageNum)
40         _start = 1 if _start < 1 else _start
41         _currentPageNum = _end - _start + 1
42 
43     # 右调整
44     if _currentPageNum < _pageNum and _end < pages:
45         _end = _end + (_pageNum - _currentPageNum)
46         _end = pages if _end > pages else _end
47 
48     # 嵌套html
49     _pageHtml = <div class="dataTables_paginate paging_bootstrap"><ul class="pagination">
50     if page > 1 :
51         _pageHtml += <li><a  class="prev" title="上一页" href="+url+&page=+str(page - 1)+">«</a></li>
52     for i in range(_start,_end+1):
53         if i == page:
54             _pageHtml += <li><a class="active btn-info white">+ str(i) +</a></li>
55         else:
56             _pageHtml += <li><a href=" +url+ &page= +str(i)+ "> +str(i)+ </a></li>;
57     if page < _end :
58         _pageHtml += <li><a class="next" title="下一页" href="+ url + &page=+str(page + 1)+">»</a></li>;
59     if total < 1 :
60         _pageHtml += <h4>暂无数据...</h4>
61     _pageHtml += "</ul></div>"
62     # 返回值
63     return ‘‘ if pages < 1 else _pageHtml

  生成一个随机数,六位随机数,不到六位,前面补0

1 def getUUID(start=1,end=1000,length=6):
2     import random
3     randnum = str(random.randint(start,end))
4     if len(randnum) < length :
5         randnum = randnum.zfill(length)
6     return randnum

  去除首尾空格和特殊符号

1 def xss_clean(raw,flag=‘‘):
2     if flag == Integer:
3         xraw = int(raw.strip()) if raw else 0
4     else:
5         xraw = raw.strip().replace(<, &lt;).replace(>, &gt;) if raw else ‘‘
6     return xraw

  获取菜单函数

1 def getMenu(data,pid=0,deep=0):
2     tree = []
3     for row in data:
4         if row[pid] == pid:
5             row[deep] = deep
6             row[child] = getMenu(data,row[id],deep+1)
7             tree.append(row)
8     return tree

  存储上传图片

 1 def save_images(images):
 2     from datetime import datetime
 3     import random
 4     pics_url = [] # 图片存储路径
 5     dir = app/static/images/questions/{}/
 6     for image in images:
 7         try:
 8             ext = .+image.filename.rsplit(., 1)[1]
 9         except:
10             ext = .png
11         path = dir.format(datetime.now().strftime(%Y-%m-%d))
12         filename = datetime.now().strftime(%d%H%M%S) + - + str(random.randint(10000, 99999)) + ext
13         dir_exists(path) # 检查文件夹是否创建,若未创建,则创建
14         pics = path + filename
15         with open(pics,wb) as fp:
16             fp.write(image.read())
17         pics_url.append(filename)
18     return ;.join(pics_url)

 

03 辅助函数三

标签:join   active   上传图片   sts   tab   图片   内容   span   跳转   

原文地址:https://www.cnblogs.com/a2534786642/p/11040680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!