我有以下方法来处理将文件上传到我的Web服务。我是以一种宁静的方式写的吗?特别是,我对if语句感兴趣 - 每个文件操作都应该为它定义自己的方法或路由吗?或者有一个方法的多个“if”语句是处理休息的好方法操作
from flask import Flask
from flask import Response, request, redirect, url_for
@app.route('/files/<type>/<id>', methods=['GET', 'POST', 'DELETE'])
def manage_files(type,id):
if request.method == 'POST':
#add a note
if request.method == 'GET':
#retrieve a note
if request.method == 'DELETE':
#delete a file
return;
答案 0 :(得分:2)
我没有看到任何问题,但如果您使用flask-restful extension,则代码会更漂亮。例如:
class Fileupload(Resource):
def get(self):
pass
def post(self, user_id):
pass
def delete(self, user_id, file_id):
pass
答案 1 :(得分:1)
对于您希望如何构建Flask REST调用,更多的是个人偏好。我更喜欢每条路线的风格,单独的方法,由Matt Wright在http://mattupstate.com/python/2013/06/26/how-i-structure-my-flask-applications.html提出。
@app.route('/files/<type>/<id>'):
def show_file(type, id):
return None
@app.route('/files/<type>', methods=['POST']):
def new_file(type):
return None
@app.route('/files/<type>/<id>', methods=['DELETE']):
def delete_file(type, id):
return None