在我的应用程序中,我有一个表单,当我提交输入的数据时,页面应该被重定向到另一个链接,该链接有自己的处理程序。
这是相同的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)'.
我似乎无法弄清楚问题可能在这里。
答案 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