搭建造数平台的环境:
***python3.7
***html5
***css
***JavaScript
***Ajax
***MySQL
前台页面的显示
1.为了页面美化,使用了JavaScript,通过逐级展开/隐藏的的方式显示下一级菜单
2.为了在提交表单数据时页面不发生跳转,需要引用Ajax技术
造数平台中目前有三个已开发好的功能,分别是:客户信息、产品信息、支付信息
本篇主要介绍客户信息,客户信息包括以下五点:1.邮箱账号、2.删除用户、3.验证邮箱、4.修改用户角色与等级
为了实现以上的四个功能,前台页面使用html5、css、JavaScript技术结合Ajax异步请求,通过将Form表单里面的数据通过Ajax请求发送给后台服务器,后台服务器接收到请求后,获取请求中的重要参数,然后通过与关系型数据库MySQL进行数据交互;交互结束后将得到的数据结果返回给前台,前台接收到响应数据之后展示到页面中。
***邮箱账号功能
为了可以快速的得知用户的customers_id,也就是数据库用户表的主键,我们平时的操作是打开数据库图示化工具(如Navicat);选择数据库,选择表,通过某一字段的筛选功能得到对应的表的主键;这样的一个流程,往往可能会遇到Navicat卡死(我的破解版并不稳定)、数据库连接不上,筛选时卡顿的现象;耽误工作效率。则为了提高效率,开发一个数据平台,帮助测试人员快速的查询、修改或者制造测试数据
利用form表单接收数据,并且使用submit提交表单数据
将Ajax请求绑定在提交表单的事件中,在提交表单时发送Ajax请求,这时页面不会发生跳转,会在刚才的页面中等待请求的响应,
后台在接收到前台的请求时,会取出请求中的参数,并进行数据处理,通过与MySQL数据库的数据交互之后,得到结果,然后将结果返回给前台,最后前台展示到页面中。
@app.route(‘/ajax_find_customers_id/’)
def find_customers_id():
customers_email_address = request.args.get(‘customers_email_address’)
print(customers_email_address)
customers_id = Customer.query.filter_by(customers_email_address=customers_email_address).first()
print(customers_id)
if customers_id:
return str(customers_id.customers_id)
else:
return “查找customers_id失败”
对于删除用户、验证邮箱、修改用户角色与等级这三个功能,其原理都是一样的,可参考文章后面的代码
***使用python对mysql数据库进行增删改查操作
配置数据库地址
app.config[“SQLALCHEMY_DATABASE_URI”] = “mysql+pymysql://root:123456@127.0.0.1:3306/newchic”
#创建数据库对象
db = SQLAlchemy(app)
#查找操作
customers_id = Customer.query.filter_by(customers_email_address=123456@qq.com).first()
#删除操作
from model import db
db.session.delete(customers1_id)
db.session.commit()
#修改操作
from model import db
customers_id = Customer.query.filter_by(customers_email_address=123456@qq.com).first()
customers_id.customers_confirm_email = 1
db.session.commit()