目录 一、前言 二、实验代码 1、 app.py 2、__init__.py 3、logicOperation.py 4、font-awesome.min.css 5、swiper-bundle.min.css 和 swiper-bundl
目录
5、swiper-bundle.min.css 和 swiper-bundle.min.js
实验四有6个题可以选(如下图所示),吕同学懒得全看了,反正题目难度听老师说都差不多,我就直接做第一题了。
主要是要做前三个问题,第一问“Building the database"本博客不涉及,第二问“MySQL Implementation”本博客也不涉及,主要放上第三问的代码并进行简单的说明。
上图为翻译版实验要求。
上图为代码结构。
from flask import Flaskfrom blueprint import lpbpapp = Flask(__name__)app.reGISter_blueprint(lpbp)if __name__ == '__main__': app.run()
from .logicOperation import bp as lpbp
from flask import Blueprint,request,render_templatefrom exts import db,cursorbp=Blueprint("",__name__,url_prefix="/")@bp.route('/customer_on_probation')def CoP(): global results sql = "call CUSTOMER_ON_PROBATION" labels = ["LASTNAME", "FIRSTNAME", "EMAIL"] try: cursor.execute(sql) db.commit() results = cursor.fetchall() except: db.rollback() print(results) return render_template('list.html', labels=labels, content=results, title ="Cop", fORM_title="Customers on Probation")@bp.route('/number_of_passengers',methods=['GET','POST'])def NoP(): global results if request.method=="POST": sql = "call NUMBER_OF_PASSENGERS(" + str(request.form['input_num']) + ")" labels = ["Car ID", "Make", "Model", "Price Per Hour","Number of Passengers"] try: cursor.execute(sql) db.commit() results = cursor.fetchall() temp = [] for i in range(len(results)): temp.append(list(results[i])) temp[i][3] = "$" + temp[i][3] results = temp except: db.rollback() if(results): return render_template('list.html', labels=labels, content=results, title="RT",form_title="Number of Passengers") return render_template('list.html',form_title="Number of Passengers")@bp.route('/popular_locations')def PL(): global results sql = "call POPULAR_LOCATIONS" labels = ["Location ID", "Street Address", "Telephone","Number of Rentals"] try: cursor.execute(sql) db.commit() results = cursor.fetchall() except: db.rollback() print(results) return render_template('list.html', labels=labels, content=results, title="PL",form_title="Popular Locations")@bp.route('/rental_trends')def RT(): global results sql = "call RENTAL_TRENDS" labels = ["Make", "Model", "Student?","Number of Times Rented"] try: cursor.execute(sql) db.commit() results = cursor.fetchall() ans = [] for i in range(len(results)): ans.append(list(results[i])) if ans[i][2]==1: ans[i][2] = "YES" else: ans[i][2] = "NO" results = ans except: db.rollback() print(results) return render_template('list.html', labels=labels, content=results, title="RT",form_title="Rental Trends")@bp.route('/update_price',methods=['GET','POST'])def UP(): if request.method == "POST": # print("1") # print("2") pph_update = 0.5 ppd_update = 5 sql1 = "update car set pph = pph + " + str(pph_update) sql2 = "update car set ppd = ppd + " + str(ppd_update) cursor.execute(sql1) db.commit() cursor.execute(sql2) db.commit() sql = "select * from car" labels = ["ID","MAKE","MODEL","PASSENGERS","DESCRIPTION","PPH","PPD"] cursor.execute(sql) db.commit() results = cursor.fetchall() return render_template('list.html', labels=labels, content=results, title="UP",form_title="Current Car Information")@bp.route('/update_price_history')def UPH(): sql = "select * from price_log" cursor.execute(sql) db.commit() labels = ["Change ID","Car ID","Price per hour change","Price per day change","Update time"] results = cursor.fetchall() return render_template('list.html', labels=labels, content=results, title="UP",form_title="Update Price")@bp.route('/')@bp.route('/index')def yewu(): return render_template("shouye.html")@bp.route('/add_price',methods=['GET','POST'])def addPrice2(): if request.method == "POST": # print("1") # print("2") pph_update = 0.5 ppd_update = 5 sql1 = "update car set pph = pph + " + str(pph_update) sql2 = "update car set ppd = ppd + " + str(ppd_update) # print(sql1) # print(sql2) cursor.execute(sql1) # print("3") db.commit() cursor.execute(sql2) db.commit() sql = "select * from car" labels = ["ID","MAKE","MODEL","PASSENGERS","DESCRIPTION","PPH","PPD"] cursor.execute(sql) db.commit() # "INSERT INTO `price_log`(`ID`, `CAR_ID`, `PPH_CHANGE`, `PPD_CHANGE`, `UPDATE_TIME`) VALUES ('1','','[value-3]','[value-4]','[value-5]')" results = cursor.fetchall() return render_template('list.html', labels=labels, content=results, title="add_price",form_title="Current Car Information")
Download Font Awesome Free or Pro | Font Awesome
自己随便下载几张图片
Car share reservation
热门wiki
近期文章
推荐阅读
-
关于SQL建表语句使用详解
2024-10-23
-
HBase在大数据审计与合规性追踪中的应用
2024-10-22
-
MySQL与HBase在大数据金融分析中的性能与可扩展性对比
2024-10-22
-
HBase的Region Server之间的网络通信优化
2024-10-22
-
HBase在大数据监控与告警系统中的实时数据处理能力
2024-10-22
-
MySQL与HBase在大数据安全策略中的实现与对比
2024-10-22
-
HBase的分布式事务处理在复杂业务场景中的应用
2024-10-22
-
MySQL与HBase在混合存储架构中的整合策略
2024-10-22
-
HBase如何支持高效的二级索引查询
2024-10-22
-
MySQL与HBase在物联网数据收集与处理中的协作模式
2024-10-22
热门问答
-
1
回答
如何调试操作系统的错误?
操作系统
2023-11-15发布
-
1
回答
2023-11-15发布
-
1
回答
如何实现操作系统的内存管理?
操作系统
2023-11-15发布
-
1
回答
2023-11-15发布
-
1
回答
2023-11-15发布
-
1
回答
ASP中的数据验证和数据校验有什么不同?
ASP.NET
2023-11-15发布
-
1
回答
ASP中的ADO对象和DAO对象有什么区别和使用方法?
ASP.NET
2023-11-15发布
-
1
回答
2023-11-15发布
-
1
回答
2023-11-15发布
-
1
回答
2023-11-15发布
热门标签
-
Python操作PostgreSQL
Python连接PostgreSQL
Python连接和操作PostgreSQL
SQL建表语句
SQL建表语句使用
RedisTemplate使用
MySQL提取数据
JSON提取数据
MySQL从JSON提取数据
MySQL免密登录
MySQL免密登录配置
Oracle端口
Oracle修改端口
Oracle更换端口
Oracle更换监听端口
HBASE部署
HBASE集群部署
oracle中的trunc函数
oracle中trunc
winx64安装
格式化yyyy-mm-dd
mysql时间戳格式化yyyy-mm-dd
mysql8.0.15重置密码
mysql8.0.15修改密码
2059
Navicat连接MySQL出现2059
DBeaver导入数据
DBeaver导入excel大量数据
DBeaver导入excel数据
dbeaver导出
0