データを検証して元のルートにリダイレクトするルートにフォームを送信しようとしています。
例えば:
- ユーザーがページ website.com/post を読み込む
- フォームはデータを website.com/post-save に POST します
- ユーザーは website.com/post にリダイレクトされます
Pyramid は、これを行う際にいくつかの問題を引き起こしています。
これが私のスリム化された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)
これは私が遊んでいたコードです。機能しないだけでなく、ごちゃごちゃしてハッキングされたように感じます。Pyramid で「POST 後にリダイレクトする」もっと簡単な方法はありますか?