Django-page-redirection
Django-ページのリダイレクト
Webアプリケーションでは多くの理由でページのリダイレクトが必要です。 特定のアクションが発生した場合、または基本的にエラーが発生した場合に、ユーザーを別のページにリダイレクトできます。 たとえば、ユーザーがWebサイトにログインすると、多くの場合、メインのホームページまたは個人のダッシュボードにリダイレクトされます。 Djangoでは、リダイレクトは「リダイレクト」メソッドを使用して行われます。
'redirect’メソッドは引数として受け取ります:文字列Aビューの名前としてリダイレクトされるURL。
これまでのところ、myapp/viewsは次のようになっています-
helloビューを変更してdjangoproject.comにリダイレクトし、viewArticleを内部の '/myapp/articles’にリダイレクトしましょう。 これを行うには、myapp/view.pyが-
上記の例では、最初にdjango.shortcutsからリダイレクトをインポートし、Djangoの公式Webサイトにリダイレクトするには、「redirect」メソッドに完全なURLを文字列として渡し、2番目の例(viewArticleビュー)では「redirect」メソッドは、ビュー名とそのパラメーターを引数として受け取ります。
/myapp/helloにアクセスすると、次の画面が表示されます-
/myapp/article/42にアクセスすると、次の画面が表示されます-
permanent = Trueパラメータを追加することにより、「リダイレクト」が一時的か永続的かを指定することもできます。 ユーザーには違いはありませんが、これらはウェブサイトのランキングの際に検索エンジンが考慮する詳細です。
また、URLのマッピング中にurl.pyで定義した「name」パラメータを覚えておいてください-
その名前(ここの記事)は、「リダイレクト」メソッドの引数として使用できます。それから、viewArticleのリダイレクトは次のように変更できます-
宛先-
注-URLを生成する機能もあります。リダイレクトと同じ方法で使用されます。 'reverse’メソッド(django.core.urlresolvers.reverse)。 この関数はHttpResponseRedirectオブジェクトを返さず、渡された引数でコンパイルされたビューへのURLを含む単純な文字列を返します。