Kar*_*tik 5 python google-app-engine
我对Python并不熟悉,并试图将我的一个php webapps转换为python.目前我正在使用appengine启动器在localhost上运行应用程序,这正是我想要做的.
我正在尝试获取发布到网址的所有参数的列表,然后将它们提交到页面并获取其内容.
所以基本上:1:获取参数2:通过提交这些参数来获取网址的内容(PHP相当于file_get_contents的curl)
到目前为止这是我的代码
from google.appengine.ext import webapp
class MyHandler(webapp.RequestHandler):
def get(self):
name1 = self.request.get_all("q")
name2 = self.request.get_all("input")
return name1,name2
x = MyHandler()
print x.get()
Run Code Online (Sandbox Code Playgroud)
和网址
http://localhost:8080/?q=test1&input=test2
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
AttributeError: 'MyHandler' object has no attribute 'request'
Run Code Online (Sandbox Code Playgroud)
现在我不能打印任何东西,我不知道如何通过提交name1和name2来获取另一个url的内容
我已经尝试过查看文档,但我无法理解它,因为它们只有2行代码才能使用函数启动.
x = MyHandler()
print x.get()
Run Code Online (Sandbox Code Playgroud)
这不是AppEngine应用程序的典型部分.您不用于print
将输出返回到浏览器.
在AppEngineLauncher中创建新应用程序时,它会为您提供一个如下所示的框架项目:
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
class MainHandler(webapp.RequestHandler):
def get(self):
self.response.out.write('Hello world!')
def main():
application = webapp.WSGIApplication([('/', MainHandler)],
debug=True)
util.run_wsgi_app(application)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
您的应用必须以类似方式运行.你需要一个main()方法来创建一个负责调用你的处理程序的wsgi_app.假设你的app.yaml文件设置正确,那个main()函数由dev_appserver调用.
def get(self):
name1 = self.request.get_all("q")
name2 = self.request.get_all("input")
self.response.out.write(name1 + ',' + name2)
Run Code Online (Sandbox Code Playgroud)
如果你正确设置你的应用程序应该工作.
归档时间: |
|
查看次数: |
5805 次 |
最近记录: |