Python 瓶路径处理后,得到
在我的webapp代码中,我一直有这样的结构:Python 瓶路径处理后,得到,python,post,get,wsgi,bottle,Python,Post,Get,Wsgi,Bottle,在我的webapp代码中,我一直有这样的结构: @app.route('some_method/<data>', method=['GET'], name='some_method') def view(id): data = base64.urlsafe_b64decode(data) ... @app.route('some_method', method=['POST'], name='some_method') def view(): data =
@app.route('some_method/<data>', method=['GET'], name='some_method')
def view(id):
data = base64.urlsafe_b64decode(data)
...
@app.route('some_method', method=['POST'], name='some_method')
def view():
data = request.files.values()[0].file.read() if len(request.files) else request.body.read()
...
@app.route('some_method/',method=['GET'],name='some_method')
def视图(id):
data=base64.urlsafe\u b64解码(数据)
...
@app.route('some_method',method=['POST'],name='some_method')
def view():
data=request.files.values()[0]。如果len(request.files)else请求.body.read(),则为file.read()
...
其中,
…
是两个视图
功能的相同代码。这不是很干。是否有任何既定的良好实践来有效地处理POST和GET-in-瓶子应用程序 想到的最简单的方法是将“…”放入它自己的方法/函数中,然后调用它
def process_stuff(data):
. . .
@app.route('some_method/<data>', method=['GET'], name='some_method')
def view(id):
data = base64.urlsafe_b64decode(data)
process_stuff(data)
@app.route('some_method', method=['POST'], name='some_method')
def view():
data = request.files.values()[0].file.read() if len(request.files) else request.body.read()
process_stuff(data)
def过程(数据):
. . .
@app.route('some_method/',method=['GET'],name='some_method')
def视图(id):
data=base64.urlsafe\u b64解码(数据)
过程(数据)
@app.route('some_method',method=['POST'],name='some_method')
def view():
data=request.files.values()[0]。如果len(request.files)else请求.body.read(),则为file.read()
过程(数据)
我的方法是:
@app.route('some_method', method=['GET', 'POST'], name='some_method')
@app.route('some_method/<id>', method=['GET', 'POST'], name='some_method')
def view(id=None):
if id and request.method == 'POST':
data = base64.urlsafe_b64decode(data)
elif request.method == 'GET':
data = request.files.values()[0].file.read() if len(request.files) else request.body.read()
else
pass # handle this 404 error
...
@app.route('some\u method',method=['GET','POST'],name='some\u method')
@app.route('some_method/',method=['GET','POST'],name='some_method')
def视图(id=None):
如果id和request.method==“POST”:
data=base64.urlsafe\u b64解码(数据)
elif request.method==“GET”:
data=request.files.values()[0]。如果len(request.files)else请求.body.read(),则为file.read()
其他的
通过#处理这个404错误
...
为什么不为通用代码使用函数?