Flask 如何向请求中添加字段?

Flask 如何向请求中添加字段?,flask,wtforms,flask-wtforms,Flask,Wtforms,Flask Wtforms,我有一个登录页面。提交时,如果选择“webmail”,则请求 应重定向到webmail服务器,并提交凭据,但 在不同的按键下。以下是我正在尝试的: if form.validate_on_submit(): if form.destination.data == 'webmail': form.rc_user.data = form.email.data form.rc_password.data = form.password.data

我有一个登录页面。提交时,如果选择“webmail”,则请求 应重定向到webmail服务器,并提交凭据,但 在不同的按键下。以下是我正在尝试的:

if form.validate_on_submit():
    if form.destination.data == 'webmail':
        form.rc_user.data = form.email.data
        form.rc_password.data = form.password.data
        return redirect('https://example.com/webmail/', code=307)
这几乎起作用了:
POST
被重定向到webmail。然而,价值观 提交的是默认值,而不是指定的值

不过,我还有一些问题:

  • 钥匙应该是
    \u user
    \u pass
    ,但烧瓶似乎被烧坏了 前导下划线字段名

  • 我不想将这些字段添加到原始类中。我想要子类 提交后,大致如下:

    if form.validate_on_submit(): if form.destination.data == 'webmail': class WebmailLoginForm(LoginForm): rc_user = EmailField('user', default=form.email.data) form = WebmailLoginForm(request.form) return redirect('https://example.com/webmail/', code=307) if form.validate_on_submit(): 如果form.destination.data==“webmail”: 类WebmailLoginForm(LoginForm): rc_user=EmailField('user',默认值=form.email.data) form=WebmailLoginForm(request.form) 返回重定向('https://example.com/webmail/,代码=307) 执行此操作时,添加的字段显示为
    UnboundField
    ,而不是 提交

    • 发出重定向时,浏览器只需重新提交到另一台服务器即可。也就是说,服务器影响请求已经太晚了

      因此,要么:启动一个新请求,要么使用javascript更改提交目标

      谢谢我的同事Johan给我的灵感