国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:110日期: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 編程
主站蜘蛛池模板: 祁门县| 漠河县| 昌都县| 西丰县| 莎车县| 临洮县| 锦屏县| 绥阳县| 沙洋县| 汤阴县| 道真| 渝中区| 宁陵县| 容城县| 屯门区| 鄂尔多斯市| 札达县| 枝江市| 德昌县| 荆门市| 舒城县| 济宁市| 兴山县| 西峡县| 苏州市| 灵璧县| 大埔区| 海阳市| 方山县| 陇南市| 五寨县| 京山县| 蓬安县| 宝应县| 安陆市| 永丰县| 监利县| 望城县| 固始县| 康平县| 偃师市|