Created
April 15, 2020 09:59
-
-
Save geekgogo/3d305415308b836d39a19c35d07b92eb to your computer and use it in GitHub Desktop.
使用jinja模板动态实现5个分页
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<ul> | |
<li><a href="/m/news/1">首页</a></li> | |
<!-- 始终显示5个页面 --> | |
<!-- 页面数小于5个时 --> | |
{% if pages < 5 %} | |
{% for i in range(len(pages)) %} | |
<li><a href="/m/news/{{ i + 1 }}">{{ i + 1 }}</a></li> | |
{% endfor %} | |
<!-- 页面数大于5个时 --> | |
{% else %} | |
<!-- 判断当前页 --> | |
{% if current_page < 3 %} | |
<!-- 前面保持固定5个分页 --> | |
{% for i in range(5) %} | |
<li><a href="/m/news/{{ i + 1 }}">{{ i + 1 }}</a></li> | |
{% endfor %} | |
{% else %} | |
<!-- 如果剩余页面大于两个 --> | |
{% if pages - current_page > 2 %} | |
<!-- 前面保持前两个页面 --> | |
<li><a href="/m/news/{{ current_page - 2 }}">{{ current_page - 2 }}</a></li> | |
<li><a href="/m/news/{{ current_page - 1 }}">{{ current_page - 1 }}</a></li> | |
<!-- 分割 --> | |
<li><a href="/m/news/{{ current_page }}">{{ current_page }}</a></li> | |
<!-- 后面保持两个页面 --> | |
<li><a href="/m/news/{{ current_page + 1 }}">{{ current_page + 1 }}</a></li> | |
<li><a href="/m/news/{{ current_page + 2 }}">{{ current_page + 2 }}</a></li> | |
{% else %} | |
<!-- 如果剩余页面小于两个 需要总共保持5个页面--> | |
{% for i in range(pages - 4, pages + 1) %} | |
<li><a href="/m/news/{{ i }}">{{ i }}</a></li> | |
{% endfor %} | |
{% endif %} | |
{% endif %} | |
{% endif %} | |
<li><a href="/m/news/{{pages}}">尾页</a></li> | |
<li>共 {{pages}}页{{all_news}}条</li> | |
</ul> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment