我正在開發一個使用python-eve的rest-api。我的對象包含一個URL,一個描述和一個圖像。用戶可以插入或查看產品(插入 - 用戶只需添加一個URL,並生成描述和圖像)。python前夕 - 返回預先請求的響應
爲了避免重複更新 - 當用戶使用POST請求插入已存在的url時,我想將他重定向到對應於該url的項目的url。爲了做到這一點,我添加了這個代碼:
def pre_post_callback(request, lookup):
prev_object = current_app.data.driver.db['products'].find_one({"url":lookup.values['url']})
if prev_object:
# here I would like to redirect the user to the /product/id of the product corresponding.
app.on_pre_POST += pre_post_callback
然而,兩次添加相同的URL時,我不斷添加(覆蓋)現有的項目。
我該如何將用戶重定向到來自pre-post回調掛鉤的已有產品?
你確定'lookup'在這裏工作嗎?該文檔說:'回調將接收被請求的資源,原始的flask.request對象和當前的查找字典作爲參數(只有例外是on_pre_POST掛鉤,它不提供查找參數)。' – HassenPy
和什麼是代碼你的'if prev_object'塊 – HassenPy
if條件中的代碼通常是重定向,但它沒有工作。我的問題是我如何在這個階段返回響應(如果條件)? –