zoukankan      html  css  js  c++  java
  • 完成登录功能,用session记住用户名

    from flask import Flask, render_template,request,redirect,url_for,session
    from flask_sqlalchemy import SQLAlchemy
    # import config
    from functools import wraps
    from datetime import datetime
    
    app = Flask(__name__)
    
    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))
    
    @app.route('/')
    def index():
        return render_template('test.html')
    
    
    @app.route('/login',methods=['GET','POST'])
    def login():
        if request.method == 'GET':
            return render_template('test.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)
                db.session.add(user)
                db.session.commit()
                return render_template(url_for('login'))
    
    @app.route('/regist',methods=['GET','POST'])
    def regist():
        if request.method == 'GET':
            return render_template('注册.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 render_template(url_for('login'))
    
    @app.route('/fabu')
    def fabu():
        return render_template('fabu.html')
    
    if __name__ == '__main__':
        app.run(debug=True)
    

      

  • 相关阅读:
    java四种线程池类型以及可选择的阻塞队列
    复习-java向上转型
    synchronized 加在方法和代码块底层实现区别
    synchronized 和 lock 的区别
    hashmap-put方法过程
    mybatis-防止sql注入
    synchronized-粗略过程
    消息队列-观察者模式和发布订阅模式区别
    复习-进程的调度算法
    Chocolatey
  • 原文地址:https://www.cnblogs.com/Sun584125503/p/7871761.html
Copyright © 2011-2022 走看看