There are URLs which I use only for redirecting a user after a successful operation. (e.g. Thank you page after submitting feedback).
Problem is that these pages can be accessed directly.
Is there a way to prevent this?
Thanks
There are URLs which I use only for redirecting a user after a successful operation. (e.g. Thank you page after submitting feedback).
Problem is that these pages can be accessed directly.
Is there a way to prevent this?
Thanks
URL はビューによって処理されるため、ビューが最後に実行したことがログイン ユーザーの操作が成功した場合にのみビューが満足することを確認してください。それ以外の場合は、Http404 を発生させます。
ビューでユーザーのセッション変数を確認するだけでこれを行うことができます。ロジックは次のようになります。
shop.html: ユーザーが「投稿」を押して buy.html
buy.html のビューはユーザーに請求し、セッションで「何かを購入しました」を設定し、thanks.html にリダイレクトします
ビューの thanks.html は、「何かを購入した」セッション変数をチェックし、それ以外の場合は 404 に設定されている場合はクリアし、成功した場合の応答にテンプレートをレンダリングします。
ユーザーが特定のGETパラメーターを指定しない場合は、リダイレクトなどの非常に単純な操作をビューで実行できます。
if not request.GET.get('show', False):
# do redirection
else:
# render the page
したがって、URLにアクセスできるのは/my-url/?show=true
これを行うためのメッセージフレームワークをお勧めします。