如上所述,我在云存储桶上有一个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上。
答案 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中找到更多详细信息。