13.4 注册
注册的前端为:
使用远程前端,需要的app.py前面加上下面两行代码:
from flask_cors import CORSCORS(app, resources={r"/*": {"origins": "https://www.codessp.cn"}})
注册的时候,首先会检查用户名是否存在,当输入用户名之后,就会检查,如图所示:

这是一个post请求,把username发到/isUserExist,如果已经存在,那么返回的json是:
{ "code":"200", "info":"", "data":""}如果用户名可用,那么返回的json是:
{ "code":"404", "info":"", "data":""}特别注意:返回404表示用户名不存在,才可以继续注册
注册数据提交后,将把用户名username、密码password以及昵称nickname以post方式发送到/register
后台的注册需要做的事情是:
1.在user表添加一行数据,新增用户,user表的字段如下表,注册的时候已经提交了过来三个:

剩下的role的值为'1',create_date使用当前时间,之前在日记项目的时候曾经使用过:
import timet = int(time.time())timeStruct = time.localtime(t)createDate = time.strftime("%Y-%m-%d %H:%M:%S", timeStruct)2.在user_class表添加一行数据,记录此用户在哪个班,user_class只有三个字段(id(主键自动增长无需指定),username用户账户,class_id班级id)注册默认的班级id是65
综合上面所述,在sql.py里增加下面的函数,用于新增用户:
#新增一个user记录,valid默认为1,def insert_user(username, psw, nickname): conn = get_conn() cursor = conn.cursor() # 生成当前时间 createDate = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(time.time()))) sql1 = "INSERT INTO user (username, password, nickname, role, create_date) VALUES (%s, %s, %s, %s, %s)" cursor.execute(sql1, (username, psw, nickname, '1', createDate)) conn.commit() # 必须提交事务 # 获取插入的ID(假设有自增ID) last_id = cursor.lastrowid conn.close() return last_id # 返回插入的ID#新增一个user_class记录,班级id默认为65def insert_user_class(username): conn = get_conn() cursor = conn.cursor() sql1 = "INSERT INTO user_class (username, class_id) VALUES (%s, %s)" cursor.execute(sql1, (username, '65')) conn.commit() # 必须提交事务 # 获取插入的ID(假设有自增ID) last_id = cursor.lastrowid conn.close() return last_id # 返回插入的ID3.完成上述两步后,后台需要返回{"code":"200"}