Google App Engine链接重定向

时间:2014-01-03 14:09:41

标签: python google-app-engine redirect

在我的应用程序中,我有一个表单,当我提交输入的数据时,页面应该被重定向到另一个链接,该链接有自己的处理程序。

这是相同的python代码:

import os
import webapp2
import jinja2
from google.appengine.ext import db
import urllib2
import re

template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape=True)

class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)
    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)
    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))

class MainPage(Handler):
    def get(self):
        self.render("formrss.html")
    def post(self):
        x = self.request.get("rssquery")
        if x:
            self.redirect("/extract")  

class ExtractFeeds(Handler):
    def get(self):
        self.write("ok")

app = webapp2.WSGIApplication([('/', MainPage),
                               ('/extract', ExtractFeeds)], debug=True)

formrss.html

<html>
<head>
<title>Live Quora Feed</title>
</head>
<body>
    <form>
        Search:<input type = "text" name = "rssquery"><br>
        <input type = "submit">
    </form>
</body>
</html>

现在,当我提交表单数据时,不是重定向到/ extract链接并显示'ok',而是重新加载表单页面,并且url的格式为'/?rssquery=(entered_data)'.

我似乎无法弄清楚问题可能在这里。

1 个答案:

答案 0 :(得分:0)

您没有在表单上使用帖子!

<form method="POST">
        Search:<input type = "text" name = "rssquery"><br>
        <input type = "submit">
    </form>

此处理程序

def post(self):
        x = self.request.get("rssquery")
        if x:
            self.redirect("/extract")  

绑定到帖子,没有发布任何帖子,它正在运行GET