首页 > 解决方案 > 如果我点击 chrome 上的撤消按钮,如何清除会话。(烧瓶)

问题描述

当我使用正确的用户名和密码登录时,它会将我重定向到下一页,但是当我点击返回按钮(chrome 的撤消按钮)时,它再次将我带回登录页面,但是当我再次点击重做按钮(->)时,它再次带我到下一页(不填写登录表格)。那么如何克服这个问题呢?就像当我点击返回按钮时,它应该清除会话并再次要求填写登录表单。

from flask import Flask, render_template, request, redirect, flash, session
from flask_sqlalchemy import SQLAlchemy
from flask_session import Session

app = Flask(__name__)
app.secret_key = "super secret key"
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/signin'
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
db = SQLAlchemy(app)

class Details(db.Model):
    sno = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80),  nullable=False)
    password = db.Column(db.String(120), nullable=False)

@app.route("/")
def home():
    return render_template('test_form.html')


@app.route("/admin_login")
def dashboard():
    return render_template('admin_login.html')

@app.route("/login", methods = ['GET', 'POST'])
def form():

    username = request.form.get('username')
    password = request.form.get('password')
    detail = Details.query.filter_by(name = username).first()
    if detail and detail.password == password:
        return redirect('/home_page')
    else:
        flash("Incorrect roll no. or password. Try again")
        return render_template('test_form.html')

@app.route("/home_page")
def inform():
    return render_template('home_page.html')

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

标签: flasksessionflask-sqlalchemy

解决方案


推荐阅读