我是一个python新手,我正在尝试一步一步地构建一个应用程序复制,这是我之前在课堂上教过的,但是我得到了“405 Method Not Allowed”错误。
教授所做的是:
我所做的是:
有人能告诉我在下面的代码中什么是导致这个错误“405方法不允许”的原因吗?我看不出我所做的和教授所教的有什么不同。 缩进也可以(这里是main.py文件https://docs.google.com/open?id=0B8TXLR_e14aCVDFfdlpYSU9DNDg)。
提前感谢您的帮助!
这里是我的代码:
form= """
<html>
<head>
<title>Unit 2 Rot 13</title>
</head>
<body>
<h2>Enter some text to ROT13:</h2>
<form method="post" action="/rot13">
<textarea name="text"
style="height: 100px; width: 400px;"></textarea>
<br>
<input type="submit">
</form>
</body>
</html> """
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.out.write(form)
class Rot13Handler(webapp2.RequestHandler):
def post(self):
text = self.request.get("text")
self.response.out.write(text)
app = webapp2.WSGIApplication([('/', MainHandler), ('/rot13', Rot13Handler)],
debug=True)
代码正确,工作正常。您需要在其他地方查找405错误的解释。
编辑
你公布了你的实际代码了吗?单击“提交”时,下面的代码将为您提供405方法不允许的错误。它有一个微妙的错误。。。:)
如果您的路由输入不正确,也会发生同样的情况,如:
编辑(谢谢,@Nick Johnson)
如果以上都不起作用,考虑从头开始,检查您的GAE设置。
main.py
模块旁边是否有有效的app.yaml
文件?我只是按照Udacity的在线课程尝试Python,遇到了类似的问题,AppEngine找不到post方法。
最后发现根本原因是缩进。
我用Notepad++作为这个小项目的编辑器,但是它不能工作,继续抛出405错误。然后,我将代码复制粘贴到安装了Python插件的Netbean IDE中,IDE显示它的缩进错误,使POST方法成为GET方法的内部方法,虽然看起来缩进处理得很好,但在Notepad++中找不到。
也有同样的问题。问题又是缩进。定义时:
如果我用“tab”缩进,它就不起作用了。当我使用空间的时候。错误日志没有显示任何内容。为了避免这样的问题,可以使用python IDE,比如Wing IDE。
相关问题 更多 >
编程相关推荐