搞了好几天终于弄好了,大致原理晓得了
首先是路由
urlpatterns = [
path('page_deploy/',views.page_deploy),
]
然后是视图
from django.core.paginator import Paginator
def page_deploy(request):
deploy = DeployInfoHelper(admin_ip, admin_port, admin_dbname, admin_dbuser, admin_dbpassword)
json_info = deploy.get_deploy_info()
paginator = Paginator(json_info, 5)
num_p = request.GET.get('page', 1)
page = paginator.page(int(num_p))
return render(request,'page_deploy.html',locals())
模板
{% for p in page %}
<tr>
<td>{{ p.id }}</td>
<td>{{ p.deploy_date }}</td>
<td>{{ p.deploy_real_date }}</td>
<td>{{ p.deploy_project }}</td>
<td>{{ p.deploy_project_detail }}</td>
<td>{{ p.deploy_project_type }}</td>
<td>{{ p.deploy_version }}</td>
<td>{{ p.deploy_result }}</td>
<td>{{ p.deploy_dev }}</td>
<td>{{ p.deploy_test }}</td>
<td>{{ p.deploy_ops }}</td>
<td>{{ p.remarks }}</td>
</tr>
{% endfor %}
{% if page.has_previous %}
<a href="?page={{ page.previous_page_number }}">上一页</a>
{% else %}
上一页
{% endif %}
{% for p in paginator.page_range %}
{% if p == page.number %}
{{ p }}
{% else %}
<a href="?page={{ p }}">{{ p }}</a>
{% endif %}
{% endfor %}
{% if page.has_next %}
<a href="?page={{ page.next_page_number }}">下一页</a>
{% else %}
下一页
{% endif %}
核心代码都在这里了