我試圖讓我的表單提交到將驗證數據然後重定向回原始路由的路由。如何在金字塔POST後重定向?
例如:
- 用戶負載website.com/post
- 表單發佈的數據website.com/post-save
- 用戶的頁面被重定向回website.com/post
金字塔給我一些麻煩做到這一點。
這裏是我的瘦身views.py
def _get_link_form(post_data):
""" Returns the initialised form object """
return LinkForm(post_data)
def home_page(request):
form = _get_link_form(request.POST)
return {'form' : form}
def save_post(request):
""" form data is submitted here """"
form = _get_link_form(request.POST)
if not form.validate():
return home_page(request, form)
這是我一直在玩弄代碼。它不僅不起作用,而且感覺混亂並且被黑了。肯定有一種更簡單的方式來在金字塔中「重新定向後」?
重定向很容易。問題是,我如何重定向到'home_page'併發送'save_post'中發現的表單錯誤? – dave 2011-04-10 06:43:17
解決這個問題的一種方法是按照你現在做事情的方式進行逆轉:讓'home_page'也是表單提交的視圖,然後只有在提交成功時才做重定向。所以,如果你需要顯示錯誤,'home_page'已經有了它需要的表單對象。 – 2011-04-10 06:59:27
我正在考慮,但我有兩個不同的視圖可調用,將呈現形式。我可以讓他們都提交到一個,主,視圖可調用(home_page,在這個例子中),但它會很好,如果每個視圖可調用提交後可以重定向回自己 - 如果這是有道理的... – dave 2011-04-10 07:14:15