设为首页 收藏本站
查看: 640|回复: 0

[经验分享] google(一)python使用入门

[复制链接]

尚未签到

发表于 2017-4-25 06:23:30 | 显示全部楼层 |阅读模式
google(一)python使用入门

我在google申请了帐号,呵呵,想试试在那里发布我新写的简单python应用。
首先学习google的python入门文档:
http://code.google.com/intl/zh-CN/appengine/docs/python/gettingstarted/
下载google的sdk
http://googleappengine.googlecode.com/files/google_appengine_1.3.0.zip
解开压缩文件,打开里面的readme,参考该文档安装环境,我的操作系统是ubuntu9.10
解开压缩后,将文件夹拷贝到工作目录
mv google_appengine/  /home/sillycat/tools/

1.撰写简单的hello world
创建目录
mkdir easyappenginepython
按照入门文档,我新建了文件helloworld.py,然后键入了如下内容:
print "Content-Type: text/plain"
print ""
print "Hello,sillycat!"
定义了google app engine需要的配置文件app.yaml,内容如下:
application: easyappenginepython
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py
切换到命令工具目录
cd /home/sillycat/tools
执行了命令:
google_appengine/dev_appserver.py /home/sillycat/work/easyappenginepython/
然后访问地址http://localhost:8080就看到了我的测试页面了。

2.使用webapp框架
按照文档上的描述,webapp包含三部分:
一个或多个 RequestHandler 类,用于处理请求和构建响应
一个 WSGIApplication 实例,按照网址将收到的请求发送给处理程序
一个主要例行程序,用于使用 CGI 适配器运行 WSGIApplication

新建package helloworld
新建文件helloworld/helloworld.py,内容如下:
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.out.write('Hello, sillycat webapp World!')

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
修改app.yaml配置文件:
application: easyappenginepython
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld/helloworld.py
启动服务:
切换到命令工具目录
cd /home/sillycat/tools
执行了命令:
google_appengine/dev_appserver.py /home/sillycat/work/easyappenginepython/
然后访问地址http://localhost:8080就看到了新页面了

webapp的详细描述
http://code.google.com/intl/zh-CN/appengine/docs/python/tools/webapp/

3.用户服务
参考文档,修改了helloworld.py文件如下:
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
  def get(self):
    user = users.get_current_user()

    if user:
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.out.write('Hello, you are ' + user.nickname())
    else:
      self.redirect(users.create_login_url(self.request.uri))

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
详细介绍用户API的文档:
http://code.google.com/intl/zh-CN/appengine/docs/python/users/

4.处理表单
简单的按照文档上,修改了helloworld.py如下:
import cgi

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
  def get(self):
    self.response.out.write("""
      <html>
        <body>
          <form action="/sign" method="post">
            <div><textarea name="content" rows="3" cols="60"></textarea></div>
            <div><input type="submit" value="Sign Guestbook"></div>
          </form>
        </body>
      </html>""")


class Guestbook(webapp.RequestHandler):
  def post(self):
    self.response.out.write('<html><body>You wrote:<pre>')
    self.response.out.write(cgi.escape(self.request.get('content')))
    self.response.out.write('</pre></body></html>')

application = webapp.WSGIApplication(
                                     [('/', MainPage),
                                      ('/sign', Guestbook)],
                                     debug=True)

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
python运行时环境详细文档:
http://code.google.com/intl/zh-CN/appengine/docs/python/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368766-1-1.html 上篇帖子: Python vim 环境搭建 下篇帖子: 简明Python教程阅读笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表