如何使用Python Django的通用视图和错误视图?

定义通用视图

修改 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"

Python Django通用视图和错误视图怎么使用

book/urls.pyurlpatterns 列表中新建一个路由

path('author/', views.AuthorListView.as_view())

Python Django通用视图和错误视图怎么使用

新建 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 的路由

Python Django通用视图和错误视图怎么使用

如果为无报错且为空白页面,请注意查看数据库内是否含有数据,下面为添加示例数据的代码

INSERT INTO book_authorinfo (id, name, telephone, age, sex) VALUES
(&#39;a001&#39;, &#39;Alice&#39;, &#39;13812345678&#39;, 25, &#39;F&#39;),
(&#39;a002&#39;, &#39;Bob&#39;, &#39;13987654321&#39;, 30, &#39;M&#39;),
(&#39;a003&#39;, &#39;Charlie&#39;, &#39;13611112222&#39;, 40, &#39;M&#39;),
(&#39;a004&#39;, &#39;David&#39;, &#39;13533334444&#39;, 20, &#39;M&#39;),
(&#39;a005&#39;, &#39;Eve&#39;, &#39;13755556666&#39;, 35, &#39;F&#39;);

可在此处执行

Python Django通用视图和错误视图怎么使用

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

Python Django通用视图和错误视图怎么使用

定义错误视图模板

修改 chapter1/settings.py 文件

DEBUG = False

ALLOWED_HOSTS = [&#39;*&#39;]

Python Django通用视图和错误视图怎么使用

新增 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通用视图和错误视图怎么使用

以上就是如何使用Python Django的通用视图和错误视图?的详细内容,更多请关注www.sxiaw.com其它相关文章!