阅读与阅读使用Python

时间:2017-06-28 15:02:34

标签: python json flask google-cloud-storage

如上所述,我在云存储桶上有一个JSON文件,有没有办法通过Python读取(和修改)其内容?

@app.route("/myform/", methods=('GET', 'POST'))
def myform():
    form = MyForm()
    if form.validate_on_submit():
       return redirect('/')
    return render_template('my_form.html', form=form)

我想在Google云端存储上阅读JSON,并在其中添加表单定义的值(键及其值)。

这是在标准AppEngine上运行的Flask webapp上。

1 个答案:

答案 0 :(得分:3)

Google Cloud Platform(GCP)有一个示例Bookshelf tutorial,它展示了如何使用Python中的Flask框架在Cloud Storage上存储持久数据。以下是有关如何创建,读取,更新和删除(CRUD)存储在云存储中的数据的示例。

创建:

@crud.route('/add', methods=['GET', 'POST'])
def add():
    if request.method == 'POST':
        data = request.form.to_dict(flat=True)
        book = get_model().create(data)
        return redirect(url_for('.view', id=book['id']))
    return render_template("form.html", action="Add", book={})

读:

@crud.route("/")
def list():
    token = request.args.get('page_token', None)
    if token:
        token = token.encode('utf-8')
    books, next_page_token = get_model().list(cursor=token)
    return render_template(
        "list.html",
        books=books,
        next_page_token=next_page_token)

更新:

@crud.route('/<id>/edit', methods=['GET', 'POST'])
def edit(id):
    book = get_model().read(id)
if request.method == 'POST':
    data = request.form.to_dict(flat=True)
    book = get_model().update(data, id)
    return redirect(url_for('.view', id=book['id']))
return render_template("form.html", action="Edit", book=book)

删除:

@crud.route('/<id>/delete')
def delete(id):
    get_model().delete(id)
    return redirect(url_for('.list'))

您可以在GCP JSON API参考here中找到更多详细信息。