如何使用Python Django的通用视图和错误视图?
时间:2023-05-09 00:20
修改 在 在 新建 访问 http://127.0.0.1:8000/book/authorlist/ 如果无法访问页面,请检查 如果为无报错且为空白页面,请注意查看数据库内是否含有数据,下面为添加示例数据的代码 可在此处执行 如无问题,将会看到作者信息 修改 新增 此时进入未定义的路由网址时,便会显示上面编写的网页 以上就是如何使用Python Django的通用视图和错误视图?的详细内容,更多请关注Gxl网其它相关文章!定义通用视图
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 AuthorInfofrom django.views.generic.list import ListViewclass 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
文件<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body><ul> {% for item in my_author %} <li>{{ item.name }}</li> {% endfor %}</ul></body></html>
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 = FalseALLOWED_HOSTS = ['*']
templates/404.html
文件<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>此页面未找到</title></head><body> <h3>自定义的404页面</h3> <p>您访问的页面不存在</p></body></html>