django学习入门系列之第十点《A 案例: 员工管理系统7》

news2024/11/15 13:32:09

文章目录

  • 9 初识Form
    • 9.1 views.py
    • 9.2 add.html
  • 10 初识ModelForm
    • 10.1 models.py
    • 10.2 views.py
    • 10.3 add.html
    • 10.4 添加类
    • 10.5 重写对象
  • 往期回顾


9 初识Form

9.1 views.py

  • 在html的文件中,如写input组件那种会写的非常繁琐,所以会用form的一个功能来进行简化编写
  • 如果是对数据库进行比较校验,可以直接用form组件

简化前:

<input type="text" name="name" placeholder="用户名"/>
<input type="password" name="password" placeholder="密码"/>
<input type="text" name="age" placeholder="年龄"/>
<input type="submit" value="提交"/>

简化后views.py文件中:

# 一般都会这样起名
class MyForm(Form):	
    name = forms.charField(widget = forms.Input)
    pwd = forms.charField(widget = forms.Input)
    email = forms.charField(widget = forms.Input)
    

# 实例化并传递过去
def add(request):
    form = MyForm()
    return render(request, 'add.html', {"form":form})

9.2 add.html

  • 方式一
<form method="post">
	{{form.name}}
    {{form.pwd}}
    {{form.email}}    
</form>
  • 方式二
<form method="post">
	{% for field in form %}
    	{{ field }}
    {% endfor %}
</form>     

10 初识ModelForm

相对于form会进一步简洁(高级)

10.1 models.py

在这里插入图片描述

10.2 views.py

简化后views.py文件中:

# 一般都会这样起名
# 支持去model那边取字段,也支持自己自定义字段
class MyForm(Form):
   xx = form.CharField("...")
   class Meta:
    model = UserInfo
    fields = {"name","password","age","xx"}
    # 或者表示所有的字段
    fields = {"__all__"}
    # exclude ---排除某个字段
    exclude = 【】

# 实例化并传递过去
def add(request):
    form = MyForm()
    return render(request, 'add.html', {"form":form})

10.3 add.html

  • 方式一
<form method="post">
	{{form.name}}
    {{form.pwd}}
    {{form.email}}    
</form>
  • 方式二
<form method="post">
	{% for field in form %}
    	{{ field }}
    {% endfor %}
</form>     

10.4 添加类

  • 注意,如果要用ModelForm要提前引用一个类
from django import forms
class 名字(forms.ModelForm):
    class Meta:
         model = models.表的名字
         fields = ["ziduan【行名字】"]
  • 例如
class user_mode(forms.ModelForm):
    class Meta:
        model = models.User_Info
        fields = ["name", "password", "age"]

def form_user_add(request):
    form = user_mode()
    return render(request, "form.html", {'form': form})
<form method="post">
    {% csrf_token %}
    {{ form.name }}
    {{ form.password }}
    {{ form.age }}
</form>

在这里插入图片描述

  • 还能显示中文
<form method="post">
    {% csrf_token %}
    {{ form.name.label }}:{{ form.name }}
    {{ form.password.label }}:{{ form.password }}
    {{ form.password.label }}:{{ form.age }}
</form>

在这里插入图片描述

10.5 重写对象

在这里插入图片描述

  • 这种是面向对象的知识

如果出现这种情况的话,要去写表的那里返回一直值就可以解决

def __str__(self):
     return self.需要展现的标题
class Department(models.Model):
    """注册表"""
    # 注解 verbose_name='标题'
    title = models.CharField(verbose_name='标题', max_length=32)

    def __str__(self):
        return self.title

往期回顾

1.【快速开发网站】
2.【浏览器能识别的标签1】
3.【浏览器能识别的标签2】
4.【浏览器能识别的标签3】
5.【浏览器能识别的标签4】
6.【案例1:用户注册】
7.【案例2:用户注册改进】
8.【快速了解 CSS】
9.【常用选择器概念讲解】
10.【CSS基础样式介绍1】
11.【CSS基础样式介绍2】
12.【CSS基础样式介绍3】
13.【CSS基础样式介绍3】
14.【案例 小米商城头标】
15.【案例 小米商城头标总结】
16.【案例 小米商城二级菜单】
17.【案例 商品推荐部分】
18.【伪类简单了解】
19.【position】
20.【案例 小米商城中app图标代码】
21.【边框及总结】
22.【BootSrap初了解】
23.【BootSrap的目录栏】
24.【BootSrap的栅格系统】
25.【案例 博客案例】
26.【案例 登录】
27.【案例 后台管理样例】
28.【图标】
29.【BootStrap依赖】
30.【javascript初了解】
31.【jJavaScript的变量】
32.【JavaScript的字符串类型】
33.【JavaScript的数组介绍】
34.【案例 动态数据】
35.【javascript 对象(字典)】
36.【案例 动态表格】
37.【Javascript的条件语句和函数】
38.【DOM初了解】
39.【DOM的事件了解】
40.【jQuery初了解】
41.【jQuery寻找标签】
42.【jQuery寻找标签2】
43.【jQuery寻找标签(间接寻找)】
44.【案例 菜单的切换】
45.【案例 只能打开一个菜单】
46.【jQuery 简单操作】
47.【案例 动态创建数据】
48.【案例 点击获取文本】
49.【案例 点击删除文本】
50.【案例 表格操作】
51.【案例 添加页面】
52.【初识MySQL】
53.【MySQL命令介绍一】
54.【MySQL命令介绍二】
55.【MySQL命令介绍三】
56.【案例:员工管理】
57.【案例 Flask+MySQL新增用户】
58.【案例 Flask+MySQL查询所有用户】
59.【初识 django】
60.【django的快速上手】
61.【django的模板语法】
62.【django的获取请求与响应】
63.【案例 用户登录】
64.【django中数据库操作】
65.【django中数据库操作–创建与删除表】
66.【django中数据库操作–操作表中的数据】
67.【案例 用户管理】
68.【A 案例: 员工管理系统1】
69.【A 案例: 员工管理系统2】
70.【A 案例: 员工管理系统3】
71.【A 案例: 员工管理系统4】
72.【A 案例: 员工管理系统5】
73.【A 案例: 员工管理系统6】

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JEE 设计模式

Java 数据访问对象模式 Java设计模式 - 数据访问对象模式 数据访问对象模式或DAO模式将数据访问API与高级业务服务分离。 DAO模式通常具有以下接口和类。 数据访问对象接口定义模型对象的标准操作。 数据访问对象类实现以上接口。可能有多个实现&#xff0c;例如&#xff0c…

java重点学习-线程池

十 线程池 10.1 说一下线程池的核心参数&#xff0c;线程池的执行原理 为什么使用线程池 创建线程占用内存空间&#xff0c;每次创建的话会浪费内存cpu有限&#xff0c;大量线程会导致cpu切换 10.2 线程池中有哪些常见的阻塞队列 workQueue-当没有空闲核心线程时&#xff0c;新…

[产品管理-14]:NPDP新产品开发 - 12 - 产品创新流程 - 创新章程与通用流程

目录 前言&#xff1a; 一、什 么 是 产 品 创 新 流 程 &#xff1f; 1.1 概述 1.2 管 理 创 新 产 品 失 败 的 2个风 险 &#xff1a; 不 确 定 性 和 成 本 1、不确定性风险 2、成本风险 1.3 重点关注创新产品的起点的正确性&#xff1a;正确的事 二、产品创造章程…

Day10-作业讲解,Ingress规则编写及Jenkins集成K8S项目实战案例

Day10-作业讲解&#xff0c;Ingress规则编写及Jenkins集成K8S项目实战案例 1、作业:1.1 作业分析:1.2 复刻镜像1.3 将游戏镜像上K8S集群1.4 helm部署服务1.5 ingress规则编写 2、项目1-jenkins和k8s集成2.1 Jenkins实现k8s持续集成项目流程图解2.2 Jenkins集成K8S-将代码推送到…

Cmake之3.27版本重要特性及用法实例(二十二)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

解锁NXP i.MX93 DDR精准校正,极限压力测试

在前一篇关于NXP i.MX93开板流程的文章中&#xff0c;我们已经详细说明了目标板&#xff08;Target Board&#xff09;在打件完成后需要注意的事项。接下来的步骤是进行DRAM的时序校正及压力测试。 在i.MX8及之前的系列中&#xff0c; DDR压力测试是使用DDR Stress Test Tool&…

Python绘制论文图

Python Graph Gallery Python Boxplot Gallery | Dozens of examples with code

记录一下,Vcenter清理/storage/archive空间

一、根因 vpostgres&#xff1a;这个目录可能包含与 vCenter Server 使用的 PostgreSQL 数据库相关的归档文件过多&#xff0c;导致空间被占用。 二、处理过程 1、SSH登陆到Vcenter. 2、df -Th **图中可以看到 /storage/archive 使用占比很高。 /storage/archive 目录通常用…

光耦选型 | 光伏逆变器使用光耦型号推荐——KL101X系列

光伏逆变器是太阳能光伏发电系统中的关键设备之一&#xff0c;主要用于将光伏电池板产生的直流电转换为交流电&#xff0c;以供电网使用或者直接驱动交流电负载。在光伏逆变器中&#xff0c;光耦扮演着重要的角色&#xff0c;主要应用在以下几个方面&#xff1a; 隔离保护&…

前端基本功——面试必问系列(1):都2024了,还没吃透Promise?一文搞懂

写在前面&#xff1a; 大家好&#xff0c;我是山里看瓜&#xff0c;该系列文章是为了帮助大家不管面试还是开发对前端的一些基本但是很重要的知识点认识更加深入和全面。 想写这个系列文章的初衷是&#xff1a;我发现前端的很多基本知识&#xff0c;使用起来很简单&#xff0…

等保测评后:企业如何持续优化信息安全

通过信息安全等级保护&#xff08;等保&#xff09;测评&#xff0c;标志着企业达到了国家规定的安全标准&#xff0c;但这并非终点。在等保测评后&#xff0c;企业需要持续优化信息安全&#xff0c;保持和提升信息安全的防护水平&#xff0c;确保业务的稳定运行和数据的安全。…

一文搞定裸纤、以太网、SDH、MSTP、PTN、波分、OTN的区别!!!

目录 一、前奏 二、SDH 三、MSTP 四、波分 五、OTN 六、以太网 七、PTN 八、裸纤 一、前奏 SDH、WDM、OTN、Ethernet等到底有啥区别&#xff0c;接下来会按照自己的思路梳理一遍。 在介绍之前我觉得有几个点是需要记在脑海里带着这些词条去阅读的&#xff0c;列举如下…

【图像识别】摄像头捕捉运动到静止视频帧(免费源码分享)

【图像识别】摄像头捕捉运动到静止视频帧(免费源码分享) 1. 本文摘要 本文实现了一个OpenCV和PyQT5 结合的摄像头视频捕捉和运动检测线程&#xff0c;实现了一款界面软件用于功能演示。主要使用帧差法实现&#xff0c;摄像头捕捉运动到静止的图片&#xff0c;捕捉到的图片可用…

JavaScript高级——变量提升和函数提升

1、变量声明提升 —— 通过 var 定义&#xff08;声明&#xff09;的变量&#xff0c;在定义语句之前就可以访问到 —— 值&#xff1a;undefined 2、函数声明提升 —— 通过 function 声明的函数&#xff0c;在之前就可以直接调用 —— 值&#xff1a;函数定义&#xff0…

在 Mac 上安装虚拟机怎么样,安装虚拟机与直接安装 Windows 系统有区别吗?

随着跨系统操作的不断发展&#xff0c;虚拟机技术在生产力领域扮演着越来越重要的角色。Mac作为一款主流的操作系统&#xff0c;也有着运行虚拟机的能力。接下来给大家介绍Mac装虚拟机好不好&#xff0c;Mac装虚拟机和装Windows系统一样吗的具体内容。 Mac装虚拟机好不好 Mac…

java程序员入行科目一之CRUD轻松入门教程(四)

三层架构 所谓的三层&#xff1a; DAO层 也可以叫做Mapper或者是Repository层&#xff0c;名字无所谓&#xff0c;但是要清楚这层就是专门和数据库做交互的&#xff0c;一般指的是关系型数据库 Service层 数据的加工处理&#xff0c;调动DAO层去完成一些具体的业务实现&#xf…

【浅谈】单片机基本概念

这里写目录标题 一 引言二 存储器1 ROM&#xff08;read only memory&#xff09;2 RAM (random access memory)3 累加器&#xff08;ACC : accumulator&#xff09; 三 I/O口四 堆栈五 定时/计数器六 中断1、一些中断词汇&#xff1a;2 中断的响应过程&#xff1a;3 作用&…

提示词工程与 AI 使用的紧密关系

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式模型&#xff08;如 GPT 系列模型&#xff09;的广泛应用&#xff0c;提示词工程&#xff08;Prompt Engineering&#xff09;成为了 AI 使用中至关重要的环节。提示词工程是指通过精心设计和优化…

踩最深的坑,教会自己出海的前端选型

目录 引言 1. 前端 1.1 Next.js 1.2 Remix 1.3 Nuxt 2. 样式与UI库 2.1 Tailwind CSS 2.2 NextUI 2.3 Framer Motion 2.4 Shadcn/UI 引言 在经历了刻骨铭心的合伙创业经历后&#xff0c;我意识到是时候该独立出海了。 捡起早已深埋在心里的创业想法&#xff0c;开始…