[英]Jython ImportError: No module named gargoylesoftware, no resolution found
[英]ImportError: No module named not_found
# -*- coding: UTF-8 -*-
import google
print google.__path__.append("C:\Program Files(x86)\Google\google_appengine")
import webapp2
form ="""
<form method ="post" action= "/testform">
<input name="q">
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['ContentType'] = 'text/plain'
self.response.out.write(form)
class TestHandler(webapp2.RequestHandler):
def get(self):
q = self.request.get("q")
self.response.out.write(q)
app = webapp2.WSGIApplication([
('/', MainPage),
('/testform',TestHandler),
], debug=True)
当我运行这个简单的应用程序时,它显示文本区域和提交,但是当我提交时出现500错误。 在电源壳上,我得到以下信息:-
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
ImportError: No module named not_found
INFO 2017-01-14 21:16:13,831 module.py:806] default: "POST /testform HTTP/1.1" 500 -
我猜您使用的是app.yaml ,这是Google AppEngine Docs中的示例。
如果您从app.yaml中删除了两行以下,则可以修复。
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
script: home.app
- url: /index\.html
script: home.app
- url: /stylesheets
static_dir: stylesheets
- url: /(.*\.(gif|png|jpg))$
static_files: static/\1
upload: static/.*\.(gif|png|jpg)$
- url: /admin/.*
script: admin.app
login: admin
- url: /.* // <- delete this
script: not_found.app // <- delete this
您的代码中有一些缩进错误,并且您需要表单方法的post
方法。 参见下面的固定代码。
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['ContentType'] = 'text/plain'
self.response.out.write(form)
class TestHandler(webapp2.RequestHandler):
def post(self):
q = self.request.get("q")
self.response.out.write(q)
我不确定这是否能解决您的所有问题,但至少可以使您更接近。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.