当前位置: 首页 > news >正文

开发实践5_project

要求:

(对作业要求的"Student"稍作了变换,表单名称为“Index”。)获得后台 Index 数据,作展示,要求使用分页器,包含上一页、下一页、当前页/总页。

结果:

① preparation (创建用户、app、注册、链接总路由等)

// 创建超级用户 terminal

python manage.py createsuperuser 

// 8000端口admin 

superuser login

( Create new app, install: )

terminal // 

python manage.py startapp page_app

setting //

install

total url //

path('page/', include('page_app.urls', namespace="page")),

② 编写Index table,编写用于展示的views、sub-urls等

models //

from django.db import modelsclass Index(models.Model):name = models.CharField(max_length=32, verbose_name="statistical index")category = models.CharField(max_length=32, verbose_name="application field")preference = models.FloatField(verbose_name="subjective recommendation degree")description = models.CharField(max_length=128, verbose_name="brief documentation", null=True)def __str__(self):return f"{self.name}_{self.category}"class Meta:verbose_name = "Index"verbose_name_plural = verbose_name + 'es'@classmethoddef get_list(cls, **kwargs):filters = {}return cls.objects.filter(**filters)  # objects.all()

app admin  注册表单到admin主页,添加测试数据// //

from django.contrib import adminfrom page_app.models import Indexmodels = [Index,
]admin.site.register(models)

views //

from django.shortcuts import render
from django.core.paginator import Paginator, InvalidPagefrom djangoProject.settings import PAGE_SIZE
from page_app.models import Indexdef list_index(request):page_num = request.GET.get("page_num", default=1)  # 页码 可以通过/?page=k传参,路由与视图函数不必维护paramindexes = Index.get_list()  # <queryset>paginator = Paginator(indexes, PAGE_SIZE)try:data = paginator.page(page_num)except InvalidPage:data = paginator.page(1)return render(request, "staticindex.html", {"data": data, "paginator": paginator})# 记得不要locals().减少缓存中的数据量。

setting //

# 设置分页大小
PAGE_SIZE = 3

templates //

http://www.lryc.cn/news/280818.html

相关文章:

  • 蓝桥杯准备
  • AtCoder Beginner Contest 336 A-E 题解
  • node各个版本的下载地址
  • JVM实战(17)——模拟对象晋升
  • 帆软笔记-决策表报对象使用(两表格联动)
  • DataGear专业版 1.0.0 发布,数据可视化分析平台
  • AS,android SDK
  • LeetCode第155题 - 最小栈
  • Java微服务系列之 ShardingSphere - ShardingSphere-JDBC
  • Unity中URP下实现能量罩(外发光)
  • Golang 中哪些类型可以作为 map 类型的 key?
  • C# 导出EXCEL 和 导入
  • 学网络必懂的华为CSS堆叠技术
  • SV-7041T 30W网络有源音箱校园教室广播音箱,商场广播音箱,会议广播音箱,酒店广播音箱,工厂办公室广播音箱
  • Could NOT find Threads (missing: Threads_FOUND)
  • 1114: 逆序(数组)
  • uniapp如何调用ANDROID原生函数
  • python 字符串的详细处理方法
  • 蓝桥杯AcWing学习笔记 8-2数论的学习(下)
  • vcs makefile
  • 《Training language models to follow instructions》论文解读--训练语言模型遵循人类反馈的指令
  • Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
  • QT上位机开发(动画效果)
  • 手写实现 bind 函数
  • 安卓Android Studio读写MifareOne M1 IC卡源码
  • 一二三应用开发平台文件处理设计与实现系列之5——MinIO技术预研
  • Native.js是什么
  • Vant-ui图片懒加载
  • 创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件
  • 华为端口安全常用3种方法配置案例