完成登录功能,用session记住用户名

完成登录功能,用session记住用户名

  1. js:设置return
  2. html:设置
    1. form
    2. input
    3. οnclick="return fnLogin()"
  3. py:
    1. @app.route设置methods
    2. GET
    3. POST
      1. 读取表单数据
      2. 查询数据库
        1. 用户名密码对:
          1. 记住用户名
          2. 跳转到首页
        2. 用户名密码不对:
          1. 提示相应错误。

session:

  1. 从`flask`中导入`session`
  2. 设置`SECRET_KEY`
  3. 操作字典一样操作`session`:增加用户名`session['username']=`username
    from flask import Flask,request,render_template,redirect,url_for,session
    from flask_sqlalchemy import SQLAlchemy
    import sqlconnect
    
    
    app = Flask(__name__)
    app.config.from_object(sqlconnect)
    db = SQLAlchemy(app)
    
    class User(db.Model):
        __tablename__ ='user1'
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(20),nullable=False)
        password = db.Column(db.String(20), nullable=False)
        #againpass = db.Column(db.String(20), nullable=False)
    
    
    #db.create_all()
    
    
    @app.route('/')
    def base():
        return render_template("base.html")
    
    @app.route("/login",methods=['GET','POST'])
    def sign_in():
        if request.method =='GET':
            return render_template("sign_in.html")
        else:
            name = request.form.get('name')
            passw = request.form.get('password')
            user = User.query.filter(User.username == name).first()
         
            if user:
             
                if user.password == passw:
                    session['user']=name#记住用户名
                    return redirect(url_for('base'))
                else:
                    return u'密码错误!'
            else:
                return u'不存在该用户名!'
    
    
    @app.route("/regiter",methods=['GET','POST'])
    def sign_up():
        if request.method == 'GET':
            return render_template("sign_up.html")
        else:
            name = request.form.get('newname')
            passw = request.form.get('newpass')
            samename = User.query.filter(User.username == name).first()
            if samename:
                return u'username existed!'
    
            else:
             
                users =User(username = name ,password = passw)
                db.session.add(users)
                db.session.commit()
                return render_template("sign_in.html")
    
    
    
    
    if __name__ == '__main__':
        app.run(debug=True)

     

posted @ 2017-11-23 13:15 林丹宜 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值