「人生苦短,我用 Python」LeanCloud Python SDK 1.0.0 正式发布

以往在服务端环境中基于 LeanCloud 进行开发,只能选择使用 JavaScript-SDK,或者直接使用 RESTful API 来进行开发。现在我们正式发布了 LeanCloud Python SDK,您可以使用 Python 语言来进行项目开发。

目前 LeanCloud Python SDK 只支持 Python 2.x,请确保您的环境满足需求。我们推荐您使用 pip 或者 easy_install 来安装 Python SDK,只要执行:

pip install leancloud-sdk

或者

easy_install leancloud-sdk

即可进行安装。根据您的操作系统环境不同,您可能需要在上述命令之前加上 sudo 。

安装结束后,我们就可以进行开发了。打开 Python 交互式解释器,输入 import leancloud ,就可以进行下一步开发了。接下来我们需要做的是使用 Application Id 与 Application Key 对应用进行初始化:

import leancloud

leancloud.init('your application id', 'your application key')

之后假设我们想实现一个简易的博客系统的话,我们需要有如下两个用于存储的 class:Post, Comment。我们可以直接使用 leancloud.Object.extend 方法来创建 class,或者直接从 leancloud.Object 继承一个子类,这样就可以创建与 LeanCloud 数据存储对应的 Class 了:

import leancloud
from leancloud import Object
from leancloud import LeanCloudError

Post = Object.extend('Post')

# 然后可以直接像一个正常 Python 类一样使用 Post 和 Comment 来创建对象了
my_post = Post(title="Hello LeanBlog!", content="Life is short, use Python!")

# 除了在创建对象的时候进行初始化数据之外,我们还可以使用 set 方法来对对象进行赋值
my_post.set('title', 'First Blog on LeanBlog')

# 我们可以使用 get 方法来获取 Object 对象上的值
my_post.get('content')  # => "Life is short, use Python!"

# 我们可以直接调用 save 方法来将对象保存到 LeanCloud 服务器上(不需要回调函数,吔!)
try:
    my_post.save()
except LeanCloudError:
    do_something_to_handle_error()

同样的方式,我们可以创建一个 Comment 对象,填充数据,并且将一个 Post 作为一对多的关系添加进来:

Comment = Object.extend('Comment')

my_comment = Comment()
my_comment.set('content', 'Hello World!')
my_comment.set('post', my_post)
try:
    my_comment.save()
except LeanCloudError:
    do_something_to_handle_error()

使用 leancloud.Query 可以从 LeanCloud 上查询已经存在的数据:

from leancloud import Query

# 构造一个 Query 对象
query = Query(Post)
# 调用 find 方法,即可获取最多一百条的 Post
posts = query.find()
for post in posts:
    show_post(post)

# 另外我们还可以直接使用字符串来构造 Query 对象
query = Query('Comment')
# 直接根据 id 来查询 Comment
query.get(comment_id)

大概的介绍就到这里,详细文档可以参考 这里API doc。您可以使用任意自己喜欢的 Python Web 开发框架来配合 LeanCloud Python SDK 来进行开发。另外 LeanCloud 云代码也即将支持 Python 运行环境,到时候您就可以直接将您的代码部署到我们的服务器上来了。

另外如果您使用上遇到任何问题,可以直接在 github 上开源的仓库 中提交 issue,或者在我们的 工单系统 上反馈问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注