Python Django通用视图和错误视图怎么使用
作者:小宇宙叶知秋
时间:2023-04-24
浏览:0
定义通用视图修改book/models.py代码中的AuthorInfo类,如果一致则不必修改classAuthorInfo(models.Model):id=models.CharField(max_length=30,verbose_name="身份证号",primary_key=True)name=models.CharField(max_length=20,verbose_name="姓名")telephone=models.CharField(max_length=20,verbose_name
定义通用视图
修改 book/models.py 代码中的 AuthorInfo 类,如果一致则不必修改
class AuthorInfo(models.Model): id = models.CharField(max_length=30, verbose_name="身份证号", primary_key=True) name = models.CharField(max_length=20, verbose_name="姓名") telephone = models.CharField(max_length=20, verbose_name="联系方式") age = models.IntegerField(verbose_name="年龄", default=30) sex = models.CharField(max_length=2, verbose_name="性别", default="男") def __str__(self): return self.name
在 book/views.py 文件下新建 AuthorListView 的函数
from book.models import AuthorInfo from django.views.generic.list import ListView class AuthorListView(ListView): model = AuthorInfo template_name = "list.html" context_object_name = "my_author"

在 book/urls.py 的 urlpatterns 列表中新建一个路由
path('author/', views.AuthorListView.as_view())
新建 templates/list.html 文件
Document
-
{% for item in my_author %}
- {{ item.name }} {% endfor %}
访问 http://127.0.0.1:8000/book/authorlist/
如果无法访问页面,请检查 chapter1/urls.py 文件内的 urlpatterns 列表中是否含有 book 的路由

如果为无报错且为空白页面,请注意查看数据库内是否含有数据,下面为添加示例数据的代码
INSERT INTO book_authorinfo (id, name, telephone, age, sex) VALUES
('a001', 'Alice', '13812345678', 25, 'F'),
('a002', 'Bob', '13987654321', 30, 'M'),
('a003', 'Charlie', '13611112222', 40, 'M'),
('a004', 'David', '13533334444', 20, 'M'),
('a005', 'Eve', '13755556666', 35, 'F');可在此处执行

如无问题,将会看到作者信息

定义错误视图模板
修改 chapter1/settings.py 文件
DEBUG = False ALLOWED_HOSTS = ['*']

新增 templates/404.html 文件
此页面未找到 自定义的404页面
您访问的页面不存在
此时进入未定义的路由网址时,便会显示上面编写的网页

作者最新文章
极度公式
2026-09-16 17:43
索尼WH-1000XM4C发布:复刻经典折叠设计并升级现代接口
2026-09-08 19:10
PDF转TXT操作步骤与转换后内容核对指南
2026-09-04 18:03
Photoshop安装失败或启动异常:系统要求、安装流程与故障排查指南
2026-09-03 06:04
PDF文件体积过大如何压缩及压缩后清晰度检查方法
2026-09-02 19:30
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































