不管是什么系统,用户权限都是至关重要的。所以我在注册用户的时候,就为他们分了两种权限。一种是普通用户的权限,一种是管理员权限。普通用户在数据库中的value是user,管理员的value是admin。

因为我想设计的系统是只有一位管理员的。所以这里我没有根据角色来进行判断。而是根据他的用户名来判断。管理员的用户名是唯一的,那就是admin。

闲话少说,先把注册用户的代码贴上来

逻辑端:

@app.route("/adduser",methods=['GET','POST'])
def adduser():
        if request.method =="GET":
                username=session.get("name")
                return render_template("register.html",username=username)

#前端post请求,逻辑端通过request.form获取整个表单的值
        if request.method =="POST":
                userlist=dict((k,v[0]) for k,v in dict(request.form).items())
                userlist['password']=hashlib.md5(userlist['password']+salt).hexdigest()
                userlist['re_password']=hashlib.md5(userlist['re_password']+salt).hexdigest()
                if userlist["name"] in [ n.values()[0] for n in get_userlist(["name"]) ]:
                        errmsg = "username is exist"
                        return json.dumps({'code':'1','errmsg':errmsg})
                if not userlist["name"] or not userlist["password"]:
                        errmsg = "username and password is not empty"
                        return json.dumps({'code':'1','errmsg':errmsg})
                if userlist["password"] != userlist["re_password"]:
                        errmsg="password is error"
                        return json.dumps({'code':'1','errmsg':errmsg})
                fields = ["name","name_cn","password","mobile","email","role","status"]
                values = [ '%s'%userlist[x] for x in fields]
                userdict = dict([(k,values[i]) for i,k in enumerate(fields)])
                add_user(userdict)
                return json.dumps({'code':'0','result':"register sucess"})

数据端代码:

def add_user(userlist):
        sql="insert into users(%s)values('%s')"%(",".join(userlist.keys()),"','".join(userlist.values()))
        curs.execute(sql)
        conn.commit()

前端代码:

...省略
                            
                                密码