flask - 如果我点击 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()
解决方案
推荐阅读
- python - 如何理解“-input[range(target.shape[0]), target]”?
- rx-java - Vertx RxJava Operator 迭代不过滤内容
- javascript - .get 不是函数:当我获取 js 控制器的输入值时,我遇到了错误
- javascript - JSHint 警告:在引用外部范围变量的循环中声明的函数可能会导致语义混淆。(文件,读者)
- android - 如何在 ionic 5 中播放内部存储器中的视频?
- javascript - 不允许函数在执行后的一段时间内执行
- react-native - React 本机纸质复选框设计不起作用,不可见,涟漪效应有效
- java - Spring Boot,Hibernate,Hikari,SQLite 无法从连接池获取 JDBC 连接
- bash - 使用 bash 安装程序进行 Sudo 访问
- python - 如何使用 Python 提取与内容相关的所有 PDF 标签?