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


    from flask import Flask,render_template,request,redirect,url_for
    from flask_sqlalchemy import SQLAlchemy
    import config
    
    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))
    
    db.create_all()
    # user=User(username='mis1234',password='111111')
    # db.session.add(user)
    # db.session.commit()
    
    
    @app.route('/')
    def base():
        return render_template("base.html")
    
    
    @app.route('/login/', methods=['GET', 'POST'])
    def login():
        if request.method == 'GET':
            return render_template("denglu.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('base'))
                else:
                    return '密码错误'
            else:
                return '用户名不存在'
    
    
    
    @app.route('/regist/', methods=['GET', 'POST'])
    def zhuce():
        if request.method == 'GET':
            return render_template("zhuce.html")
        else:
            username = request.form.get('username')
            password = request.form.get('password')
            nickname = request.form.get('nickname')
            user = User.query.filter(User.username == username).first()
            if user:
                return '用户名已存在'
            else:
                user = User(username=username, password=password, nickname=nickname)
                db.session.add(user)  # 数据库,添加操作
                db.session.commit()
                return redirect(url_for('login'))
    
    @app.route('/fabu/')
    def fabu():
        return  render_template('question.html')
    
    if __name__=='__main__':
        app.run(debug=True)
    {% extends'fumoban.html' %}
    <html>
    <head>
        <meta charset="UTF-8">
        <title>登录</title>
        {% block head %}
        <link  href="../static/css/zhuce.css" rel="stylesheet" type="text/css">
        <script src="../static/js/denglu.js"></script>
        {% endblock %}
    </head>
    
    <body>
    {% block main %}
      <div><h1>用户登录</h1></div>
        <form action="{{ url_for('login') }}" method="post"></form>
      <div class="aa"><script>document.write("loading....")</script>
        </div>
    
    <div class="flex-container">
     <form class="form" method="post" action="{{ url_for('login') }}">
        <div class="box">
            <div class="input_box">
                登录 <input id="uname" name='username'type="text" placeholder="输入用户名">
            </div>
            <br>
            <div class="input_box">
                密码 <input id="upass" name='password'type="password" placeholder="输入密码">
            </div>
            <br>
            <div id="error_box"><br></div>
            <div class="input_box">
                <button onclick="fnLogin()">登录</button>
            </div>
        </div>
     </form>
    </div>
    {% endblock %}
    </body>
    </html>
  • 相关阅读:
    扩展GridView控件增加选择列
    Flash图片轮换/切换左右推拉效果
    Flash图片轮换/切换普通效果1
    WebForm_PostBackOptions未定义 解决方法
    SQL Server 2008无法还原日志备份或差异备份的问题解决(转)
    一个简单的C#多线程间同步的例子.[转]
    SQL2008报错:无法还原日志备份或差异备份,因为没有文件可用于前滚(转)
    C# 字符、字符串过滤,只能输入数字、中文、英文、大写、小写(转)
    C# Monitor类锁定对象
    使用SqlServer中的float类型时发现的问题(转)
  • 原文地址:https://www.cnblogs.com/hxl316/p/7881138.html
Copyright © 2020-2023  润新知