当前位置: 首页 > 知识库问答 >
问题:

“错误的请求浏览器(或代理)发送了此服务器无法理解的请求。”烧瓶登录

方宏才
2023-03-14

我遇到了表单400错误,并尝试了其他解决方案。它让我的状态有所改善,但并没有阻止错误的发生。我有

模板/注册。html:

{% extends "base.html" %}

{% block title %}Register{% endblock %}

{% block content %}
    <h2> Welcome to the status page</h2>
    <br>
    <form action="/register" method="post" name="register_user">
        {{ form.hidden_tag() }}
        <h4>Register</h4>
        <p>
            Email:<br>
            {{ form.email }}<br>
            {% for error in form.email.errors %}
                <p><span style="color: red">[{{ error }}]</span></p>
            {% endfor %}
            Password:<br>
            {{ form.password }}<br>
            {% for error in form.password.errors %}
                <p><span style="color: red">[{{ error }}]</span></p>
            {% endfor %}
            Confirm password:<br>
            {{ form.confirm }}<br>
            {% for error in form.confirm.errors %}
                <p><span style="color: red">[{{ error }}]</span></p>
            {% endfor %}
        </p>
        <p><input type="submit" name="register" value="Submit"></p>
    </form>
    <p><a href="{{ url_for('login') }}">Log in</a></p>

<script type="text/javascript"> 

</script>

{% endblock %}

形式。py:

from flask.ext.wtf import Form
from wtforms import StringField, BooleanField, TextField, PasswordField, validators
from wtforms.validators import Required


class RegistrationForm(Form):
    # name = TextField('Your name', [validators.Length(min=2, max=60)])
    email = TextField('Email Address', [validators.Length(min=6, max=35)])
    password = PasswordField('New Password', [
        validators.Required(),
        validators.EqualTo('confirm', message='Passwords must match')
    ])
    confirm = PasswordField('Confirm Password')

这些观点。py:

    @application.route('/register', methods=['GET', 'POST'])
    def register():
        form = RegistrationForm(request.form)
        print(form)
        print(form.email.data)
        print(form.password.data)
        print(form.confirm.data)
        print(form.validate())
        if request.method == 'POST' and form.validate():
            user = User(email=form.email.data, password=form.password.data)
            user.save()
            flash('Thanks for registering')
            return redirect(url_for('awaiting_approval'))
        return render_template('register.html', form=form)

这些指纹看起来像

<app.forms.RegistrationForm object at 0x7ff762e11790>
fakeguy@fake.org
123456
1234
False

就像我预料的那样。我假设根据password字段的验证器重新呈现页面,并显示错误消息“Passwords must match”。我该怎么做才能让此表单失败并重新提交页面?非常感谢。

共有1个答案

公孙涵育
2023-03-14

register.html:

<form action="{{url_for('register')}}" </form>

当您提交表单时,url_for将查看您的views.py寄存器功能。第二件事,您必须有一个名为的函数:awaiting_approval,因为您在发布成功后重定向此视图函数。

 类似资料:
  • 嗨,我正在编写一个博客脚本,但收到400个错误请求。Python代码: Html代码: 我以前从未收到过这样的错误,我不知道为什么。我猜表格可能有错误。 求你帮帮我

  • 我已经试过填充add。html,当我单击send时,我得到上面的错误。错误的请求浏览器(或代理)发送了此服务器无法理解的请求。我的应用程序。py如下所示。 当我在填写表单后尝试提交时,会出现以下错误: 错误的请求浏览器(或代理)发送了此服务器无法理解的请求。 我已经试着把它输出到一个文件中,但仍然得到了错误

  • 我已经为我的生日提醒应用程序创建了一个编辑视图,并且以前工作过,每当我链接到此编辑视图时,我都会收到一个关键错误。我已经检查了get_Gift函数返回的对象,并且键字段存在。此外,使用多个字段创建的HTML表单包含错误中指示的字段。 收到的错误是: werkzeug。例外情况。BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。KeyError:“g

  • 我正在尝试上传文件 错误的请求浏览器(或代理)发送了此服务器无法理解的请求。 超文本标记语言代码

  • 我最近一直在用Java编写自己的Webserver,因为我觉得有一个很不错,昨天我偶然发现了一个问题,我仍然没有解决。我的浏览器(取消搜索Chromium)似乎向服务器发送了一些空请求或类似的东西。我实现了一个请求处理程序,它应该读取GET请求并提取请求的资源。它的工作原理是这样的:它以请求为例:“GET/index.htmlHTTP/1.1”并将其放入带有String.split (" ");

  • 我尝试使用axios对烧瓶服务器进行POST: 现在是烧瓶的部分 但是,我最终会出现以下错误: 无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。 为什么?我将按照建议设置标题