如何将页面重定向到错误页面

2024-09-07 12:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码,我希望它重定向页面,如果用户没有在其中键入任何内容,请按“添加”。我需要一些帮助 {%extends“base.html”%}

    {% block content %}

    <form>
        <h2>Add a Food</h2>
        <input type="text" name="food">
        {% if items %}
            {% for item in items %}
              <input type="hidden" name="food" value="{{item}}">
            {% endfor %}
        {% endif %}
        <button>Add</button>

            <br>
            <br>

            <h2>Shopping List</h2>
            <ul>
                {% if items %}
                    {% for item in items %}

                {% for item in items %}
                    <li>{{ item }}</li>
                {% endfor %}
                    <h3>comments</h3>
                    {% for comement in item %}
                        <li>{{ comment }}</li>
                    {% endfor %}
            </ul>
    </form>

    {% endblock %}

Tags: nameinformaddforinputiffood
1条回答
网友
1楼 · 发布于 2024-09-07 12:31:01

重定向实际上不会进入表单的HTML页面(如果您正在发送HTML,则已经太晚了),而是进入表单目标的HTTP处理程序。也就是说,如果您的表单如下所示:

 <form action="/form/submission" method="post">

。。。“/form/submission”的处理程序将执行此重定向。也就是说,它会发出:

HTTP/1.1 303 See Other 
Location: http://your.server.com/path/to/error

而不是:

HTTP/1.1 200 OK
Content-Type: text/html
... (content here) ...

如何在处理程序中执行此操作将取决于特定的服务器环境和框架。对于webapp2和Google App Engine,其外观如下:

class PostHandler(webapp2.RequestHandler):

   def post(self):
      if missing_inputs(self.request):
         self.response.redirect_to(new_location)
      process_form_submission(self.request)

然而,为了提供更具体的帮助,我们需要了解服务器端技术

还可以在客户端上执行“重定向”,方法是包含分配给变量window.location.href的JavaScript;但是,如果您使用JavaScript进行验证,那么在当前页面上注释错误(例如,在表单上方显示/显示错误消息)将更有意义,而不是在使用JavaScript时将用户带到完全不同的页面

相关问题 更多 >