Flask常用API
Flask常用API
1、os
拼接路径:pathname = os.path.join(basepath, filename)
获得文件名后缀:suffix = os.path.splitext(filename)[1]
读取指定环境变量:os.environ.get(‘SECRET_KEY’)
获得当前工作路径:os.getcwd()
2、PIL(需要安装pillows 模块)
打开图片对象:img = Image.open(pathname)
设置缩略图尺寸:img.thumbnail((128, 128))
保存文件:img.save(pathname)
3、str
指定次数地向前分割字符串:retList = filename.rsplit(’.’, 1)
4、分页
pagination = Posts.query.paginate(2, per_page=5, error_out=False)
posts = pagination.items
Pagination对象
属性
items:当前页的所有数据
page:当前页码
pages:总页码数
total:总记录数
per_page:每页多少条
prev_num:上一页的页码
next_num:下一页的页码
has_prev:是否有上一页
has_next:是否有下一页
方法
prev:上一页的分页对象
next:下一页的分页对象
iter_pages:是一个迭代器,返回的是在分页导航条上显示的页码 显示不完的页码会返回None
分页宏函数
分页样式参见bootstrap官网
{% macro show_pagination(pagination,endpoint) %}
<nav aria-label="Page navigation">
<ul class="pagination">
<li {% if not pagination.has_prev %}class="disabled"{% endif %}>
<a {% if pagination.has_prev %}href="{{ url_for(endpoint,page=pagination.prev_num,**kwargs) }}"
{% else %}href="#"{% endif %} aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
{% for i in pagination.iter_pages() %}
{% if i %}
<li {% if i==pagination.page %}class="active"{% endif %}>
<a href="{{ url_for(endpoint,page=i,**kwargs) }}">{{ i }}</a>
</li>
{% else %}
<li><a href="#">...</a></li>
{% endif %}
{% endfor %}
<li {% if not pagination.has_next %}class="disabled"{% endif %}>
<a {% if pagination.has_next %}href="{{ url_for(endpoint,page=pagination.next_num,**kwargs) }}"
{% else %}href="#"{% endif %} aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
{% endmacro %}
【后记】:如果文章对您有帮助,打赏下呗。微信 1257309054,欢迎交流学习*_*
微信
支付宝