修改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
檔案
<!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>
訪問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
檔案
<!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>
此時進入未定義的路由網址時,便會顯示上面所寫的網頁
以上是如何使用Python Django的通用視圖和錯誤視圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!