一周学会Django5 Python Web开发-Django5新增视图CreateView

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计29条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/视图类CreateView是对模型新增数据的视图类,它是在表单视图类FormView 的基础上加以封装的。简单来说,就是在视图类FormView的基础上加入数据新增的功能。

所有涉及到表单视图的功能开发,都需要定义form表单类:

我们新建forms.py,里面新建StudentForm

from django import forms
from django.forms import ModelFormfrom helloWorld.models import StudentInfo# 定义学生form表单
class StudentForm(ModelForm):# 配置中心class Meta:model = StudentInfo  # 导入model# fields = '__all__'  # 代表所有字段fields = ['name', 'age']  # 指定字段widgets = {  # 定义控件'name': forms.TextInput(attrs={'id': 'name', 'class': 'inputClass'}),'age': forms.NumberInput(attrs={'id': 'age'})}labels = {  # 指定标签'name': '姓名','age': '年龄'}

views.py里新建Create类,继承CreateView

class Create(CreateView):# 设置模版文件template_name = 'student/create.html'# 设置模型外的数据extra_context = {'title': '学生信息添加'}# 指定formform_class = StudentForm# 执行成功后跳转地址success_url = '/student/list'

student目录下新建create.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>{{ title }}</title><style>.inputClass {width: 200px;}</style>
</head>
<body>
<h3>{{ title }}</h3>
<form method="post">{% csrf_token %}{{ form.as_p }}<input type="submit" value="确定">
</form>
</body>
</html>

urls.py里加一个映射:

    path('student/create', helloWorld.views.Create.as_view()),

list.html页面,加一个新增学生链接

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>{{ title }}</title>
</head>
<body>
<h3>{{ title }}</h3>
<a href="/student/create">新增学生</a>
<table border="1"><tr><th>编号</th><th>姓名</th><th>年龄</th><th>操作</th></tr>{% for student in student_list %}<tr><td>{{ student.id }}</td><td>{{ student.name }}</td><td>{{ student.age }}</td><td><a href="/student/{{ student.id }}">查看详情</a></td></tr>{% endfor %}
</table>
<br>
{% if is_paginated %}{% if page_obj.has_previous %}<a href="/student/list?page={{ page_obj.previous_page_number }}">上一页</a>{% endif %}{% for current in paginator.page_range %}{% if current == page_obj.number %}<a href="/student/list?page={{ current }}"><b><font color="blue">{{ current }}</font></b></a>{% else %}<a href="/student/list?page={{ current }}">{{ current }}</a>{% endif %}{% endfor %}{% if page_obj.has_next %}<a href="/student/list?page={{ page_obj.next_page_number }}">下一页</a>{% endif %}
{% endif %}
</body>
</html>

测试,浏览器输入: http://127.0.0.1:8000/student/list

点击“新增学生“链接

输入表单信息

点击确定,则跳转到学生信息列表页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/519471.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git你必须知道的知识

一&#xff1a;使用Git的原因 我们在写版本的时候&#xff0c;可能会谢谢改改&#xff0c;可能要回到之前的文件&#xff0c;修改之前的文件&#xff0c;因此总是要保持很多个文件&#xff0c;且书写文件名也很麻烦。git可以有一个仓库&#xff0c;版本库&#xff0c;可以保存这…

mysql数据库入门到精通-Windows版本mysql安装(1)

文章目录 一、数据库介绍1.1、数据库概念1.2、为什么要使用数据库1.3、关系型数据库与非关系型数据库1.4、数据库术语1.5、mysql下载及地址 二、安装mysql数据库三、mysql的管理工具3.1、mysql command line client使用 四、SQL结构化查询语言4.1、SQL概述4.2、SQL发展4.3、SQL…

【STM32】HAL库 CubeMX教程---基本定时器 定时

目录 一、基本定时器的作用 二、常用型号的TIM时钟频率 三、CubeMX配置 四、编写执行代码 实验目标&#xff1a; 通过CUbeMXHAL&#xff0c;配置TIM6&#xff0c;1s中断一次&#xff0c;闪烁LED。 一、基本定时器的作用 基本定时器&#xff0c;主要用于实现定时和计数功能…

PEIS源码 健康体检中心源码 C/S

目录 一、系统概述 二、系统开发环境 三、系统功能 检前管理 检中管理 检后管理 设备对接-PACS 设备对接-彩超 LIS-结果录入、审核、外送结果自动导入 一、系统概述 体检系统&#xff0c;是专为体检中心/医院体检科等体检机构&#xff0c;专门开发的全流程管理系…

什么样的项目适合Web自动化测试

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

传输请求(同服务器不同Client 不同服务器)

Landscape&#xff1a; 1. 同服务器不同Client间传输 100配置完需要在UT环境- DEV200测试的场合&#xff1a; 100生成的传输请求无需释放&#xff0c;直接在DEV200 Tcode SCC1接收即可&#xff08;S4 hana&#xff1a; SCC1N&#xff09;输入传输请求号&#xff0c;指定目标…

力扣刷题Days11第二题--141. 环形链表(js)

目录 1,题目 2&#xff0c;代码 2.1快慢指针 2.2&#xff0c;哈希表 3&#xff0c;学习与总结 3.1自己尝试写快慢指针 反思 1,题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&…

【Leetcode】3028.边界上的蚂蚁

题目描述 思路 题目中要求我们返回 蚂蚁返回到边界的次数。简单来想&#xff0c;就是蚂蚁原来的位置的一维坐标为0&#xff0c;然后经过&#xff0c;若干次移动&#xff0c;统计有几次坐标再次变为0的个数。 我们利用前缀和&#xff0c;像定义一个数组&#xff0c;算出前缀和数…

腾讯云学生服务器详细介绍_学生服务器价格_学生机申请流程

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

【网络原理】初识网络原理

目录 &#x1f384;网络发展史&#x1f338;独立模式&#x1f338;网络互连&#x1f33b;局域网LAN&#x1f33c;基于网线直连&#x1f33c;基于集线器组建&#x1f33c;基于交换机组建&#x1f33c;基于交换机和路由器组建 &#x1f33b;广域网WAN &#x1f333;网络通信基础&…

【设计模式 01】单例模式

单例模式&#xff0c;是一种创建型设计模式&#xff0c;他的核心思想是保证一个类只有一个实例&#xff08;即&#xff0c;在整个应用程序中&#xff0c;只存在该类的一个实例对象&#xff0c;而不是创建多个相同类型的对象&#xff09;&#xff0c;并提供一个全局访问点来访问…

【操作系统概念】 第7章:死锁

文章目录 0.前言7.1 系统模型7.2 死锁特征7.2.1 必要条件7.2.2 资源分配图 7.3 死锁处理方法7.4 死锁预防&#xff08;deadlock prevention&#xff09;7.4.1 互斥7.4.2 占有并等待7.4.3 非抢占7.4.4 循环等待 7.5 死锁避免&#xff08;deadlock-avoidance&#xff09;7.5.1 安…