Redirect


Redirect


Redirectはブラウザに特定のページへの移動を要求します.これは、これまで使用していたレンダリングでhtmlファイルが解放されるのとは異なります.django.ショートカットからredirectメソッドをロードする場合にのみ使用できます.views.pyでは、次の内容を使用できます.
from django.shortcuts import render, redirect

def redirect_to_page(request) :
	
    함수 내용
    
    #arg1, arg2 에는 넘겨줄 변수 등이 들어간다
    
    return redirect(urlpattern, arg1, arg2 , ..)
Redirectはフォームフォーマットをコミットするときに役立つかもしれません.form pageでコミットし、すぐに結果ページに移動すると、リフレッシュするたびにコミットが一緒に実行され、重複カウントが発生します.コミット→リダイレクト→結果ページを使用すると、コミット動作を実行した履歴から削除できます.Webブラウザは一度に1つの実行履歴しか覚えていないからです.

URLパラメータ


Redirectは変数をcontextに渡すことはできません.urlパラメータを使用する必要があります.まず、URL.pyに次のフォーマットを追加します.
urlpatterns = [
	
    ...
    #int형으로 class_id 값을 받을 수 있다는 의미이다.
    path('result/<int:class_id>', views.result),
]
この例はresult関数に移動する例です.result関数にclass idというパラメータを追加し、書き込みリダイレクト関数にclass id値を指定します.class idという名前の場所では、その関数に作成された他のint型変数を入力するだけでいいです.redirectはページを移動するだけなので.
def result(request, class_id):
...

このコードはresult関数の例であり、リダイレクトを返す関数の例を示します.
return redirect(f'/result/{class_id}')
2番目のコードの{class id}には、その関数で作成した他のint型変数を入力するだけでよい.redirectはページを移動するだけなので.

参考資料


M.B.I.Tテストページを作成!With Django(済州コード大本営)