久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - flask去掉return redirect(url_for(’index’)),結果沒有變化

瀏覽:128日期:2022-08-07 09:59:31

問題描述

上代碼,

import osfrom flask import Flask, render_template, session, redirect, url_forfrom flask_script import Managerfrom flask_bootstrap import Bootstrapfrom flask_moment import Momentfrom flask_wtf import FlaskFormfrom wtforms import StringField, SubmitFieldfrom wtforms.validators import Requiredfrom flask_sqlalchemy import SQLAlchemybasedir = os.path.abspath(os.path.dirname(__file__))app = Flask(__name__)app.config[’SECRET_KEY’] = ’hard to guess string’app.config[’SQLALCHEMY_DATABASE_URI’] = ’sqlite:///’ + os.path.join(basedir, ’data.sqlite’)app.config[’SQLALCHEMY_COMMIT_ON_TEARDOWN’] = Trueapp.config[’SQLALCHEMY_TRACK_MODIFICATIONS’] = Falsemanager = Manager(app)bootstrap = Bootstrap(app)moment = Moment(app)db = SQLAlchemy(app)class Role(db.Model): __tablename__ = ’roles’ id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True) users = db.relationship(’User’, backref=’role’, lazy=’dynamic’) def __repr__(self):return ’<Role %r>’ % self.nameclass User(db.Model): __tablename__ = ’users’ id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, index=True) role_id = db.Column(db.Integer, db.ForeignKey(’roles.id’)) def __repr__(self):return ’<User %r>’ % self.usernameclass NameForm(FlaskForm): name = StringField(’What is your name?’, validators=[Required()]) submit = SubmitField(’Submit’)@app.errorhandler(404)def page_not_found(e): return render_template(’404.html’), 404@app.errorhandler(500)def internal_server_error(e): return render_template(’500.html’), 500@app.route(’/’, methods=[’GET’, ’POST’])def index(): form = NameForm() if form.validate_on_submit():user = User.query.filter_by(username=form.name.data).first()if user is None: user = User(username=form.name.data) db.session.add(user) session[’known’] = Falseelse: session[’known’] = Truesession[’name’] = form.name.datareturn redirect(url_for(’index’)) return render_template(’index.html’, form=form, name=session.get(’name’), known=session.get(’known’, False))if __name__ == ’__main__’:manager.run()

這句話中:

@app.route(’/’, methods=[’GET’, ’POST’])def index(): form = NameForm() if form.validate_on_submit():user = User.query.filter_by(username=form.name.data).first()if user is None: user = User(username=form.name.data) db.session.add(user) session[’known’] = Falseelse: session[’known’] = Truesession[’name’] = form.name.datareturn redirect(url_for(’index’)) return render_template(’index.html’, form=form, name=session.get(’name’), known=session.get(’known’, False))

return redirect(url_for(’index’))有沒有結果是一樣的?!

問題解答

回答1:

orz

因為你 post 的頁面和 redirect 的頁面都是 index 所以看不出區別,你把 redirect 的目標換成別的就可以看出區別了。

回答2:

如果你抓過包就知道有沒有起作用了,POST 過去之后會有一次重定向請求。

標簽: Python 編程
主站蜘蛛池模板: 河间市| 伊宁市| 通河县| 当阳市| 武乡县| 西乌珠穆沁旗| 蓬安县| 丹寨县| 巴彦县| 华亭县| 济南市| 科尔| 连云港市| 嘉定区| 洪江市| 海淀区| 金阳县| 台东市| 安达市| 嵊泗县| 芜湖县| 莱芜市| 新化县| 天柱县| 通海县| 堆龙德庆县| 邵东县| 荥阳市| 营口市| 阜宁县| 三都| 安福县| 安图县| 台南县| 旺苍县| 即墨市| 子长县| 饶平县| 阿图什市| 翁源县| 策勒县|