①校园环形跑道需要设置4个打卡点,学生佩戴电子标签经过每处打卡点时,都会记录下该生经过该点的打卡时间,相应的数据上传到服务器。
②学生可以通过浏览器访问该系统,进入该系统的“登录模块”,登录后,会显示“欢迎页面”,其中包含“个人数据查询”、“排行榜”、“全校乐跑数据可视化”三个链接。
③单击“个人数据查询”链接进入个人数据查询页面,查询个人每次有效跑步时长(完整打完四个点并且总时长在8分钟内)。
④单击“排行榜”链接进入排行榜页面,显示有效跑步时长次数最多的20名学生信息。
⑤单击“全校乐跑数据可视化”进入数据可视化页面。
信息课代表承接了该系统的设计与开发,基于上述需求分析,设计了系统工作流程如1图所示,系统框架如2图所示。
3 图 数据采集部分工作原理图
#相关模块导入代码略
class BaseLogin ( FlaskForm ) :
#表单定义代码略app = Flask (_name_)
#启用 CSRF 保护,代码略
@app . route ( '/ ' , methods = [ 'GET' , 'POST' ] ) def index( ) :
#进入登录页面代码略
@ app . route ( ' / login ' , methods = [ ' GET ' , ' POST ' ] ) def baselogin( ) :
form = BaseLogin( ) #创建表单对象,生成登录界面用户名和密码框
if form . validate_on_submit ( ) : #判断提交信息是否通过conn = sqlite3 . connect ( 'test . db' )
cur = conn.cursor ( )
cur . execute ("select * from user where username = ' %s ' " % uname ) data = cur . fetchall ( ) #获取查询结果的全部数据
#获取相关信息,进入欢迎页面相关判断代码略
else :
if _name_ == "_main_" :
app . run ( host = " 0.0.0.0 " , port = 8080 )
根据上述代码可知,完成以下问题:
①分析程序可知,存储学生数据(用户名、密码)的数据表名为。
②如要实现:当用户提交信息未通过时,跳转至“login.html”登录页面,则上述代码中方框内的代码为。
A、return request( " login . html " , form = form )
B、return redirect( " login . html ", form = form )
C、return render_template ( " login.html " , form = form )