# Python框架学习 **Repository Path**: XksA-me/python_framework_learning ## Basic Information - **Project Name**: Python框架学习 - **Description**: 这里我将分享我学习基于Python的Web框架的过程和项目源码。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2018-04-14 - **Last Updated**: 2021-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python框架学习 基于flask框架的MySql数据库交互系统。 #### 1.开发环境 #系统:win10 #python版本:PY3.6 #MySQL版本:MySQL5.6 #开发工具:Pycharm Community Edition 2017. 3.2 #### 2.PY模块介绍 ##### **flask python里的一个轻量级web框架,虽然轻量,但功能强大。 ##### **flask_sqlalchemy 是Flask Web 框架的一个扩展,使 Web 服务器以 (ORM: Object Relational Mapping)对象关系映射的方式与数据库交互,操作友好方便简单。 ##### **pymysql pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,支持Python3的数据库连接驱动。 ##### **render_template 用于返回静态页面,同时可以实现参数传递, render_template函数会自动在templates文件夹中找到对应的html,因此我们不用写完整的html文件路径。 $:在前段页面中,后台传入参数用 {{}}包裹。 ##### **request 后台利用request对象的相关方法获取前台发送过来的请求参数 request.args   获取GET请求参数 request.form  获取POST请求参数 > 注:以上模块均可用 pip install xxxx(模块名) 的方式进行安装 #### 3.MySql数据库连接 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/231935_c1b268c3_1550490.png "db_connect.png") 注:连接数据库前,一定要确定数据库存在,不然会报错。 #### 4.表格设计创建 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232122_cce6a1d9_1550490.png "sql_table.png") #### 5.交互式页面及后台设计 以添加数据为例: ###### (1)页面样式 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232138_f016ece1_1550490.png "add_style.png") ###### (2)页面构架 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232150_92a6374a_1550490.png "add_frame.png") > 注:当我们在前端添加页面点击确定按钮,表单将被提交到路由"/add"。 ###### (3)后台路由视图函数 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232210_4774e76e_1550490.png "add_route.png") > 注:上面模块介绍已经request,这里请求为 get 方式,故用request.args来获取前台数据,因为Sid,Sage为 int 类型,故用int()函数进行强制转换,然后把获取到的参数传入添加功能函数。 ###### (4)后台功能函数 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232221_19d2fd57_1550490.png "add_function.png") #### 6.实现效果 ![输入图片说明](https://gitee.com/uploads/images/2018/0520/232338_0622cf2a_1550490.png "屏幕截图.png") ![输入图片说明](https://gitee.com/uploads/images/2018/0520/233806_2b0e414b_1550490.png "屏幕截图.png")