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删除。

  • 相关阅读:
    webrtc系列之-像老鼠一样打洞
    Ubuntu记录用户IP访问操作信息工具
    OPENVIDU实现同一用户同时发布多个流媒体
    如何使用Nginx-rtmp搭建简易的HLS直播系统
    python实现数据库主从状态监控
    简单分析实现运维利器---批量操作bashshell
    《我与Windows Server 2008R2那点事儿》之域控账户故障事件
    常用动态路由协议之IS-IS
    在云服务器上搭建Python开发环境
    基于Python3接口自动化测试开发相关常用方法
  • 原文地址:https://www.cnblogs.com/sickboy/p/2436061.html
Copyright © 2011-2022 走看看