Django分页功能的实现

 时间:2024-10-04 07:19:54

Django分页功能的实现

方法/步骤

1、打开命令行窗口,创建Django工程,使用以下命令:django-adminstartprojectdjpagecddjpagepythonmanage.pystartappdemo

Django分页功能的实现

2、使用PyCharm打开工程,在工程的同名文件夹的settings.py文件,注册应用,添加模板路悄钸碌灵径,修改部分的settings.py内容如霍丶魇汜下:INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','demo.apps.DemoConfig']TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':[os.path.join(BASE_DIR,'templates')],'APP_DIRS':True,'OPTIONS':{'context_processors':['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},]

Django分页功能的实现

3、在工程同名文件的urls.py文件,添加到应用的视图的路由fromdjango.conf.urlsimporturlfromdjango.contribimportadminfromdemoimportviewsurlpatterns=[url(r'^admin/',admin.site.urls),url(r'page/(?P<id>\d+)/$',views.page)]

Django分页功能的实现

4、在应用的视图views.py文件,编写处理请求函数,实现分页显示一个列表的内容,这里列表也可以是查询集fromdjango.shortcutsimportrenderfromdjango.core.paginatorimportPaginator#Createyourviewshere.defpage(request,id):hello_list=[{'title':'hello'},{'title':'world'},{'title':'hello1'},{'title':'world1'},{'title':'hello2'},{'title':'world2'},{'title':'hello3'},{'title':'world3'},{'title':'hello4'},{'title':'world4'}]pag=Paginator(hello_list,2)page=pag.page(int(id))returnrender(request,template_name='home.html',context={'page':page})

5、在工程根目录新建templates文件夹,并创建一个home.html文件,代码如蛴蛩钔淞下:<!DOCTYPEhtml媪青怍牙><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><ul>{%foriteminpage%}<li>{{item.title}}</li>{%endfor%}</ul>{%ifpage.has_previous%}<ahref="/page/{{page.previous_page_number}}">&lt;上一页</a>{%endif%}{#遍历显示页码的链接#}{%forindexinpage.paginator.page_range%}{#判断是否是当前页#}{%ifindex==page.number%}{{index}}{%else%}<ahref="/page/{{index}}">{{index}}</a>{%endif%}{%endfor%}{#判断是否有下一页#}{%ifpage.has_next%}<ahref="/page/{{page.next_page_number}}">下一页&gt;</a>{%endif%}</body></html><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><ul>{%foriteminpage%}<li>{{item.title}}</li>{%endfor%}</ul>{%ifpage.has_previous%}<ahref="/page/{{page.previous_page_number}}">&lt;上一页</a>{%endif%}{#遍历显示页码的链接#}{%forindexinpage.paginator.page_range%}{#判断是否是当前页#}{%ifindex==page.number%}{{index}}{%else%}<ahref="/page/{{index}}">{{index}}</a>{%endif%}{%endfor%}{#判断是否有下一页#}{%ifpage.has_next%}<ahref="/page/{{page.next_page_number}}">下一页&gt;</a>{%endif%}</body></html>page.paginator.page_range是页面总数

Django分页功能的实现

6、运行django服务器pythonmanage.pyrunserver

Django分页功能的实现

7、打开网页,输入http://127.0.0.1:8000/page/1显示效果图如下,分页成功

Django分页功能的实现

云记APP如何调整默认书写设置 sql查询中如何使用连接字符 贷款合作机构风险的防范措施 驾驶途中紧急情况处理方法 VSCode怎么设置内部控制台选项会话启动
热门搜索
壶口瀑布图片 暖羊羊图片 卡通衣服图片 jb图片 小黄鱼图片