美文网首页
Flask-login-2

Flask-login-2

作者: 米粒_f37b | 来源:发表于2021-01-13 23:48 被阅读0次

前文中实现了简单的登录页面;在这个登录页面中存待优化问题:

用户名和密码的准确性校验

思路:连接Mysql获取用户名和密码进行比较查看是否一致


一、安装ipython和Mysql数据库相关内容

1.数据库直接安装在本地或者访问已有的数据库即可;数据库使用也是ORM模型,实现面向对象编程语言里不同类型系统的数据库转化;

ORM对应关系

ORM                                  数据库
Models类  ————>        数据库表
对象实例  ————>          对应表数据
属性          ————>          对应表字段

2.本实例中使用数据库Mysql

pip install Flask-SQLAlchemy

二、调试过程中使用ipython更有助于数据的调试

pip install ipython

出现如下页面即可:

C:\Flask>ipython
In [1]:

接下来就是实现代码了:

run.py

from flask import Flask,render_template,request
from  import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] ='mysql://root:123456@localhost:3306/mysql'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
#创建数据库模型,自行插入数据
class Autor(db.Model):
    __tablename__ = 'test_hhhh'
    id = db.Column(db.INTEGER,primary_key=True)
    username = db.Column(db.String(80),unique=True)
    password = db.Column(db.String(80), nullable=False)
    def __repr__(self):
        return 'Autor %s'%(self.username)
@app.route('/login/',methods=['GET','POST'])
def login():
    if request.method =='GET':
        return render_template('login.html')
    if request.method =='POST':
        if request.form['username'] in [user.username for user in Autor.query.all()]:
            if request.form['password'] == Autor.query.filter(Autor.username==request.form['username']).all()[0].password:
                return render_template('success.html')
            else:
                return "密码错误"
        else:
            return "用户不存在"
    else:
        return render_template('login.html')
if __name__ == '__main__':
    app.run(debug=True,port=8888)

相关文章

  • Flask-login-2

    前文中实现了简单的登录页面;在这个登录页面中存待优化问题: 用户名和密码的准确性校验 思路:连接Mysql获取用户...

网友评论

      本文标题:Flask-login-2

      本文链接:https://www.haomeiwen.com/subject/ktvqaktx.html