首页 > 编程语言 >Python Django 通用视图和错误视图的使用

Python Django 通用视图和错误视图的使用

时间:2023-04-11 09:12:58浏览次数:40  
标签:name Python py 视图 Django models book verbose

定义通用视图

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

image

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

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

image

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

image

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

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');

可在此处执行

image

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

image

定义错误视图模板

修改 chapter1/settings.py 文件

DEBUG = False

ALLOWED_HOSTS = ['*']

image

新增 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>
    <h2>自定义的404页面</h2>
    <p>您访问的页面不存在</p>
</body>
</html>

此时进入未定义的路由网址时,便会显示上面编写的网页

image

标签:name,Python,py,视图,Django,models,book,verbose
From: https://www.cnblogs.com/huanfei/p/17305035.html

相关文章

  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能聊天机器人从0到1快速入门——官网推荐的
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • 位运算--不用加法实现两数相加--Python解法
    不用加法实现两数相加(两数均可能是负数或者0)defadd(a,b):#迭代#a^b#无进位求和#(a&b)<<1#进位x=0xffffffffa&=xb&=xwhileb!=0:a,b=a^b,(a&b)<<1&xreturnaifa<=0x7fffffffelse~(a^x)......
  • Python 学习 01 硬件
                                 计算机的硬件组成控制器:计算机的指挥系统(类似人脑)运算器:数学运算和逻辑运算(类似人脑)储存器:分为内存和外存       内存:相当于人脑的短期记忆,速度快,存储能力差,只能识......
  • Debian11安装python3.10
    一、aptinstallpython默认安装的是python3.9 二、安装python3.10需要下载源码手动编译安装sudoaptupdate&&sudoaptupgradesudoaptinstallbuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibreadline-devlibffi-devlibsqlit......
  • python文本转语音库Pyttsx3
    python文本转语音库Pyttsx3:https://github.com/nateshmbhat/pyttsx3Installation:pipinstallpyttsx3Linuxinstallationrequirements:Ifyouareonalinuxsystemandifthevoiceoutputisnotworking,then:Installespeak,ffmpegandlibespeak1asshown......
  • python+selenium写自动化脚本遇到的坑
    1.定位不到元素网速不好定位的元素还没有刷新出来使用等待有三种强制等待,显式等待,隐式等待动态ID不要复制xpath,要手写。判断是动态ID的方法,多次关闭浏览器再打开网址,查看ID是否会发生变化下拉框,文件无法定位还没有解决......
  • Django笔记二十一之使用原生SQL查询数据库
    本文首发于公众号:Hunter后端原文链接:Django笔记二十一之使用原生SQL查询数据库Django提供了两种方式来执行原生SQL代码。一种是使用raw()函数,一种是使用connection.cursor()。但是官方还是推荐在使用原生SQL之前,尽量的先去探索一下QuerySet提供的各种API。目前......
  • 视图,触发器,事务,存储过程,内置函数,流程控制,索引
    目录SQL注入问题视图1、什么是视图2、为什么要用视图3、如何用视图触发器为何要用触发器创建触发器语法事务(掌握)什么是事务事务的作用事务的4个属性(ACID)如何用存储过程基本使用三种开发模型第一种第二种第三种创建存储过程如何用存储过程函数流程控制索引b+树聚集索引(primaryk......
  • python统计list中出现最多的数字
    要统计一个Python列表中出现最多的数字,可以使用Python内置的collections模块中的Counter类。Counter类可以用于统计可迭代对象中每个元素的出现次数,返回一个字典,其中键是元素,值是元素出现的次数。然后,可以使用Python内置的max()函数找到字典中的最大值。以下是一个示例代码:from......
  • 深入理解 python 虚拟机:字节码教程(2)——控制流是如何实现的?
    深入理解python虚拟机:字节码教程(2)——控制流是如何实现的?在本篇文章当中主要给大家分析python当中与控制流有关的字节码,通过对这部分字节码的了解,我们可以更加深入了解python字节码的执行过程和控制流实现原理。控制流实现控制流这部分代码主要涉及下面几条字节码指令,......