我做了什么?
一个基于Flask的Web应用,输入教务系统的账号密码,即可查询学生的平时成绩
怎么用?
打开这个链接,输入账号密码,即可查看到成绩
想看源代码?
本应用在GitHub上开源,点击这个链接查看。
部分代码实现
import json
from flask import Flask, request, render_template
from service import get_score_detail, get_gpa_info, beautify_msg
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/score', methods=["POST"])
def get_score():
username = request.form['username']
password = request.form['password']
year = request.form['year']
term = request.form['term']
config = [username, password, year, term]
score_list = beautify_msg(get_gpa_info(config, get_score_detail(config)))
return json.dumps(score_list)
if __name__ == '__main__':
app.run()
指定路由
使用@app.route()
方法,可以包含参数指定路由及支持的请求方法
@app.route('/score', methods=["POST"])
获取表单数据
使用 Flask框架提供的 request
对象,通过request.form
获取表单中的数据
username = request.form['username']
password = request.form['password']
year = request.form['year']
term = request.form['term']
返回数据
使用 json.dumps
方法将需要返回的对象转化为json,返回给前端
return json.dumps(score_list)
模板页面
将页面放入 template
文件夹,在方法中使用render_template
函数渲染页面
@app.route('/')
def index():
return render_template('index.html')
静态资源
将静态资源放入 static
文件夹,即可使用类似于 https://www.example.com/static/css/example.css
的方法访问静态资源