IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 数据库系统原理课程总结5——数据库系统制作(python+SQL+HTML) -> 正文阅读

[Python知识库]数据库系统原理课程总结5——数据库系统制作(python+SQL+HTML)

实验任务要求:

结合自己所选的应用案例,至少完成一个简单案例,Web页面的操作应包括增、删、改、查,查询结果以表格或表单形式展现。
整个系统架构至少应包括前端、Web服务器、应用服务器、数据库服务器。Web服务器和应用服务器可以合在一起,也可以根据硬件资源情况分开。
要求提交系统代码、程序与实验报告,届时将逐个检查。

实验任务完成情况:

代码和HTML文件如下:
在这里插入图片描述

完成情况说明:已经可以完成通过web界面进行数据库中列表数据的增删改查。本次实验使用python语言中的web模块提供web服务,以及pymysql模块,同时通过在HTML文件中附加部分python代码的方式减少了python程序的代码量。
代码说明:匹配URL和链接数据库,进入web的首页
在这里插入图片描述
在这里插入图片描述

表示层代码:

<html> 
	<body bgcolor='#f0fff0'> 
	<script type="text/javascript"> 
	alert("请输入完全部信息后点击submit,否则点击submit会自动返回首页"); 
	</script> 
	<p align="center"><font face="隶书" size="15"> 用户注册</font></p> </br> 
	<form method="post" action="add"> 
	输入用户ID:<br> 
	<input type="int" name="用户ID" value="用户ID"> 
	<br> 
	输入用户名:<br> 
	<input type="text" name="用户名" value="用户名"> 
	<br> 
	输入个人简介:<br> 
	<input type="text" name="个人简介" value="个人简介"> 
	<br> 
	输入所在行业:<br> 
	<input type="text" name="所在行业" value="所在行业"> 
	<br> 
	<br><br> 
	<input type="submit" value="Submit"> 
	</form> 
	
	<form method="post" action="add"> 
	<input type="submit" value="返回"> 
	</form> 
	</body> 
	</html> 

业务逻辑层部分:

在这里插入图片描述

对于用户输入进来的数据进行action类型判断,转接到对应功能的数据访问层。

数据访问层:

在这里插入图片描述
在这里插入图片描述

通过输入数据,直接在数据库中进行相关操作。
在实验的过程中,在对数据库进行操作的时候遇到的最大的一个问题就是程序可以得到我们想要进行的SQL语句,比如说SELECT * FROM user WHERE 用户ID=a,其中a为之前已经完成赋值的变量。但是程序在执行过程中就是会发生报错,原因是因为没有加入vars=locals()这句代码,因为从HTML网页中获得的数据是以字典的形式给到程序中的,如果没有这句话的话,字典赋值的a也是没有意义的。
在实验程序中,通过使用对HTML模板进行渲染的方式进行呈现。程序执行后得到的数据库数据将送入HTML文件并在web中进行呈现。
在HTML文件中运行python代码,以index5为例,这里对于数据库中的所有内容,使用python中的循环语句完成表格的创建:

$def with (users)
<html>
<body bgcolor="#f0fff0">
<table border="1"> 
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>个人简介</th>
<th>所在行业</th>
</tr>
$for user in users:
	<tr>
	<td>$user.用户ID  </td>
	<td>$user.用户名  </td>
	<td>$user.个人简介  </td>
	<td>$user.所在行业  </td>
	</tr>
</table>
</body>
</html>

通过HTML中少量python代码避免需要程序对数据进行分组处理在绘制表格的过程,在代码中只需要想渲染index5.HTML文件的函数输入information即可,information的内容如下图:
在这里插入图片描述

另外在HTML文件中,给所有的输入框都提供了类似用户ID,用户名这样的初始值,这样我们可以通过判断当前输入框的内容和初始内容是否一致来判断用户是否选择了输入这个部分的内容,从而针对不同的输入情况进行调整和判断。
最后的实验效果:
首页,有四个按键,点击之后会调用程序中的turn系列的class,实现界面的跳转(不是通过HTML实现的跳转):
在这里插入图片描述

增,在进入这个界面的时候会自动跳出弹窗,告知用户必须要完成所有信息的输入之后submit才能够实现数据库的输入,否则点击submit和返回是一样的效果:
在这里插入图片描述

删,通过用户ID删除数据库中的响应数据:
在这里插入图片描述

改,这里用户ID是必需要输入的,另外三个属性可以都输入,也可以选择性的输入,只会对输入的属性进行修改,例如只修改用户名,那个输入修改后的用户名点击submit即可,不需要把另外两个再填写一遍:
在这里插入图片描述

查,这里如果没有输入要查的用户ID的话,点击submit,会出现user列表的全部信息,这是我当时查看程序的时候留下的快捷查看方式,输入指定用户ID的话,就会只输出该用户的相关信息:
在这里插入图片描述
在这里插入图片描述

三层架构说明:

UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。
DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 18:53:50  更:2022-01-30 18:54:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:35:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码