gpt4 book ai didi

python - 使用Flask和Flask-WTF中的路径和可选参数重定向到新页面不起作用

转载 作者:行者123 更新时间:2023-12-03 17:03:58 25 4
gpt4 key购买 nike

我正在使用Flask和Flask-WTF,并且我的views.py文件中包含以下代码:

from flask import render_template, flash, redirect, url_for   
from . import app, forms

@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
def index():
form = forms.HelpSearch()
if form.validate_on_submit():
flash('Searched for: %s' % form.value.data)
redirect(url_for('help', form.value.data))
return render_template('index.html', title='Index', form=form)


@app.route('/help/<keyword>', methods=['GET', 'POST'])
def help(keyword=None):
form = forms.HelpSearch()
if form.validate_on_submit():
flash('Searched for: %s' % form.value.data)
redirect(url_for('help', keyword=form.value.data))

# This is just some dummy data for testing my template
keywords = ['n', 'north']
groups = ['movement']
syntax = [
{'cmd':"n", 'args': ''},
{'cmd':'north', 'args': ''}
]
content = 'Move north'

return render_template('show_help.html',
title=keyword,
form=form,
keywords=keywords,
groups=groups,
syntax=syntax,
content=content)


我想要做的是,当有人在表单搜索字段中输入一些文本并点击搜索按钮时,它将返回该值,然后我将其重定向到适当的页面,例如他们搜索 foo并最终到达/ help / foo。

遗憾的是,来自表单验证位的重定向未按期望进行重定向。它似乎正在重新加载当前页面。

我知道事实是表单正在获取和返回数据,因为 flash调用显示了正确的信息,例如 'Searched for: foo',但是当我将关键字传递给 url_for页面时,同样,只需重新加载即可。手动导航到 /help/foo可以正常工作。

我已经测试了 url_for是否可以正常工作,并且在我手动输入关键字(例如, print url_for('help', keyword='foo')打印 /help/foo

任何人都知道为什么它没有按需要重定向?

编辑:如果有人想看看它到底在发生什么,它可以在 Heroku上运行。

最佳答案

我认为您的问题是不退货

您可以检查以下内容:

def index():
form = forms.HelpSearch()
if form.validate_on_submit():
flash('Searched for: %s' % form.value.data)
return redirect(url_for('help', keyword=form.value.data))
return render_template('index.html', title='Index', form=form)

关于python - 使用Flask和Flask-WTF中的路径和可选参数重定向到新页面不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26436704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com