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

import os
DEBUG = True

SECRET_KEY = os.urandom(24)

DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = 'ROOT'
HOST = 'localhost'
DATABASE = 'mis_db'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:19940224@localhost:3306/mis_db?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS = False

  

from flask import Flask
from flask import render_template,request,redirect,url_for
import config
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
class User(db.Model):
    __tablename__ = 'user'
    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)
    nickname=db.Column(db.String(20),nullable=True)
db.create_all()
# 增加
# user=User(username='yujiujiu2',password='11111',nickname='123456')
# db.session.add(user)
# db.session.commit()
#查询
# user=User.query.filter(User.username =='yujiujiu2').first()
# print(user.username,user.password,user.nickname)
#删除
# user=User.query.filter(User.username =='vixx').first()
# db.session.delete(user)
# db.session.commit()
#修改
# user=User.query.filter(User.username =='vixx').first()
# user.password='123456789'
# db.session.commit()
@app.route('/')
def lx():
    return render_template('lx3.html')

@app.route('/login/',methods=['GET','POST'])
def login():
    if request.method=='GET':
        return render_template('lx2.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')
        user = User.query.filter(User.username == username ).first()
        # 判断用户名是否存在
        if user:
            if user.password==password:
                return redirect(url_for('lx'))
            else:
                return u'密码错误'
        else:
            return u'账号不存在'


@app.route('/regist',methods=['GET','POST'])
def regist():
    if request.method=='GET':
        return render_template('lx.html')
    else:
        username=request.form.get('username')
        password=request.form.get('password')

        user = User.query.filter(User.username == username).first()
        # 判断用户名是否存在
        if user:
            return u'账号已存在'
        else:
            user = User(username=username, password=password)
            db.session.add(user)
            db.session.commit()
            return redirect(url_for('login'))
@app.route('/fabu')
def fabu():
    return render_template('fabu.html')

if __name__ == '__main__':
    app.run(debug=True)

  

{% extends 'lx3.html' %}
{% block logintitle %}登录{% endblock %}
{% block loginhead %}<script type="text/javascript" src="../static/js/js.js"></script>{% endblock %}
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet"  type="text/css" href="../static/css/webb.css" >

<h1>

 用户界面

</h1>


<body class="body">
{% block body %}

<p id="demo">这是一个段落</p>
<button type="button" onclick="displayDate()">显示日期</button>

<div  class="bigdiv" id="container" >

<div id="header" ><h2 align="center">登陆</h2></div>

<div id="content">

     <form action="{{ url_for('login')}}"method="post">
     <div align="center">username:<input id="user" type="text" name="username" placeholder="请输入用户名" ></div> <br>
       <div align="center"> password:<input  id="upass" type="password" name="password" align="center"><br></div>

      <div align="center">  <input type="radio" name="role" value="stu">student
      <input type="radio" name="role" value="tea">teacher <br>
      <input type="checkbox" value="true"><span style="color: blueviolet">rember</span> <a href="www.gzcc.cn"> 登陆问题请点</a></div>  <br>

       <div align="center">
            <button type="submit" onclick=" return fuck()">登录</button>
        <input type="button" value="cancel"><br>
       </div>
    <div align="center">
         <div id="error_box"></div><br>
    </div>
     </form>
</div>
</div>
{% endblock %}
</body>
</html>

  

原文地址:https://www.cnblogs.com/zheng01/p/7872639.html