zoukankan      html  css  js  c++  java
  • google云的数据库

    最近改一个小程序,需要用到google云上的数据库功能。学习了一点相关知识。

    对于应用来说,首先要app.yaml申明自己

    application: a
    version: 1
    runtime: python
    api_version: 1
    
    handlers:
    - url:/xx
      script: xx.py
    - url:/yy
      script: xx.py
    - url:/zz.py
      script: zz.py
    

     第一部分四行比较简单,handlers这里是告诉云,访问连接后跟的路径用哪一个脚本去处理,比如在这里,application叫做a,那么访问a.appspot.com/xx,是用xx.py处理,如果访问a.appspot.com/yy,也是用xx.py处理。如果是访问a.appspot.com/zz.py,则用zz.py处理。

    然后,云就会执行相应的python文件

    #! /usr/bin/env python
    #
    coding=utf-8
    import wsgiref.handlers,
    from google.appengine.ext import webapp
    from google.appengine.api import db

    def data_test(db.Model):
    link=db.LinkProperty()
    method=db.StringProperty()
    header=db.TextProperty()
    date=db.DateTimeProperty(auto_now_add=True)
    data=db.STringProperty(multiline=True)

    class Main(webapp.RequestHandler):
    def post(self):
    ...
    def get(self):
    ...

    class Minor(webapp.RequestHandler):
    def post(self):
    ...
    def get(self):
    ...


    def main():
    application=webapp.WSGIApplication([("/xx",Main),("/yy",Minor)])
    wsgiref.handlers.CGIHandler().run(application)

    if __name__=="__main__":
    main()

    执行py文件以后,python文件通过

    application=webapp.WSGIApplication([("/xx",Main),("/yy",Minor)])

    这句话决定调用哪个类来处理请求,在这里访问/xx的用Main,访问/yy的用Minor,然后相应调用各个类下的post,get方法来给出页面。

    对于数据库gql来说,则通过

    def data_test(db.Model):
    link=db.LinkProperty()
    method=db.StringProperty()
    header=db.TextProperty()
    date=db.DateTimeProperty(auto_now_add=True)
    data=db.STringProperty(multiline=True)
    data1=data_test(parent=dataft)
    data.link=...
    data.put()

    来定义数据库自己,首先类data_test是从db.Model继承来的,然后在这个类里定义了各个key,在赋值以后,通过put更新进数据库
    查询则可以通过db.GqlQuery命令

    datas=db.GqlQuery("SELECT * FROM data_test WHERE ANCESTOR IS :1 ORDER BY date DESC",dataft)
    for i in datas:
    i.link....
    删除
    db.delete(i)

    删除则可以通过db.delete删除。

  • 相关阅读:
    html css 学习
    第七天
    第六天
    第五天
    第四天
    第三天
    第二天
    团队敏捷开发day8
    团队敏捷开发day7
    团队敏捷开发day6
  • 原文地址:https://www.cnblogs.com/sickboy/p/2436061.html
Copyright © 2011-2022 走看看