做一个网站花2万贵吗,在哪里创建网站平台,餐饮vi设计手册,建设局合同备案是哪个网站原理步骤参考:
Django开发_14_后台管理及分页器-CSDN博客
一、创建Django项目 二、创建page_app
python manage.py startapp page_app三、修改settings.py文件
(一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径
from django.contrib impo…原理步骤参考:
Django开发_14_后台管理及分页器-CSDN博客
一、创建Django项目 二、创建page_app
python manage.py startapp page_app三、修改settings.py文件
(一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径
from django.contrib import admin
from django.urls import path, includeurlpatterns [path(admin/, admin.site.urls),path(,include(page_app.urls,namespacepage))
] 五、添加子路由文件
from django.urls import pathapp_name page
urlpatterns [] 六、models.py:创建模型
from django.db import modelsclass Student(models.Model):name models.CharField(max_length32, verbose_name姓名)gender models.CharField(max_length2, verbose_name性别)score models.FloatField(verbose_name成绩)def __str__(self):return self.name # 添加实例化对象时以姓名显示class Meta:verbose_name 学生 # 后台管理显示中文:学生verbose_name_plural verbose_name # 用于后台管理复数形式不显示sclassmethoddef get_list(cls, **kwargs):filters {}return cls.objects.filter(**filters) # 没有参数相当于cls.objects.all()迁移模型:
manage.py makemigrations
python manage.py migrate 七、admin.py注册模型
from django.contrib import adminfrom page_app.models import Studentmodels [Student
]admin.site.register(models)八、登录admin后台添加实例化模型
(一)创建超级账号 (二)启动运行 (三)登录添加学生 九、views.py:编写视图函数
from django.shortcuts import render
from django.core.paginator import Paginator, InvalidPagefrom Paginator.settings import PAGE_SIZE
from page_app.models import Studentdef list_students_view(request):page_num request.GET.get(page, 1) # href中没有传递page时默认为1students Student.get_list()paginator Paginator(students, PAGE_SIZE)try:data paginator.page(page_num)except InvalidPage:data paginator.page(1)return render(request, stu.html, locals()) 十、urls.py:路由设置
from django.urls import pathfrom page_app.views import list_students_viewapp_name page
urlpatterns [path(list/, list_students_view, namelist)
]十一、html文件上一页、下一页以及显示当前页/总页数
!DOCTYPE html
html langen
headmeta charsetUTF-8title分页/title
/head
body
tabletheadtrth学号/thth姓名/thth性别/thth成绩/th/tr/theadtbody{% for i in data %}trtd{{ i.id }}/tdtd{{ i.name }}/tdtd{{ i.gender }}/tdtd{{ i.score }}/td/tr{% endfor %}/tbody
/table
center{% if data.has_previous %}a href{% url page:list %}?page{{ data.previous_page_number }}上一页/a{% else %}a href上一页/a{% endif %}{{ page_num }}/{{ paginator.num_pages }}{% if data.has_next %}a href{% url page:list %}?page{{ data.next_page_number }}下一页/a{% else %}a href下一页/a{% endif %}/center
/body
/html 十二、启动运行效果展示
http://127.0.0.1:8000/list/