2015-10-04 29 views
1

我想刪除一些內容,所以我使用了一篇文章,但後來我想引用用戶回到視圖 - 網址實際上取決於用戶,所以我想喜歡能夠發回給推薦人,但我看不到一個聰明的做法。以最聰明的pythonic方式將用戶返回燒瓶中的引薦者

這裏是我的代碼:

@app.route('/delete', methods=['POST']) 
def delete(): 
    if request.method == 'POST': 
     _id = request.form.get('_id') 
     mongo.db.xxx.remove({'_id': _id}) 
     return request.referrer 
    else: 
     return request.referrer 

什麼是這樣做的規範優雅的方式。我是否必須使用會話,還是有另一種方法可以使用瓶來執行此操作。

回答

2

當渲染形式刪除視圖中,可以添加一個名爲next一個隱藏的表單元素:

<form ...> 
    <input type="hidden" name="next" value="{{ request.path }}"> 
    ... 
</form> 

然後在您的路線:

... 
return redirect(request.form.get('next', '/')) 

注:您的重定向操作要小心以防止下一個參數成爲任意站點的絕對URL(請參閱https://www.owasp.org/index.php/Open_redirect)。