• redirectの使い方【パラメータの使い方の具体例もあります】

    djangoでリダイレクトの設定をするには、redirectメソッドを使うと便利です。

    ここでは、redirectの使い方を具体例と共に紹介していきます。

    ※動画を使ってredirectの実装方法について説明しています。合わせて参考にして頂ければ幸いです。

    →redirectに関する動画の説明を見る

    1. 絶対パス

    まずは絶対パスを入れる方法です。

    コード
    

    def redirectview(request):

        return redirect('https://google.com')

    これで、recirectviewメソッドが呼び出されるとgoogleのサイトにリダイレクトされます。

    2. 相対パス

    次は、相対パスを使う方法です。

    コード
    

    def redirectview(request):

        return redirect('/some/url')

    このように、相対パスにすることも可能です。

    例えば、appprojectというプロジェクトフォルダの中のviews.pyファイルの中で上記の設定をすると、「localhost:8000/some/url」というurlにリダイレクトされます。

    3. Viewの名前

    次はviewの名前です。viewの名前とは、urlpatternsで設定したname='somename'という部分です。コードで確認しておきましょう。

    コード
    

    urlpatterns = [

        path('', 'views.redirectview', name='anotherpage')

    ]

    この時、このようなコードでリダイレクト先を設定することができます。

    コード
    

    def redirectview(request):

        return redirect('anotherpage')

    4. viewの名前(引数付き)

    次は、先ほどのviewに引数をつける場合です。

    まずはurlpatternの設定からです。

    コード
    

    urlpattens = [

        path('/<int:pk>', views.redirectview, name='anothername')

    ]

    この設定をベースに、views.pyファイルを設定していきましょう。

    コード
    

    def redirectview(request):

        return redirect('anotherpage', {pk=10})

    これで、localhost:8000/10というページにリダイレクトされます。

    5. モデルのget_absolutte_urlを使う

    最後はモデルのget_absolute_urlを使う場合です。

    具体的なコードでみていきましょう。

    コード
    

    def redirectview(request):

        obj = AppModel.objects.get()

        return redirect(obj)

    これで、モデルで定義しているget_absolute_urlメソッドが呼び出され、そこで指定されているurlにリダイレクトされます。

    ※動画を使ってredirectの実装方法について説明しています。合わせて参考にして頂ければ幸いです。

    →redirectに関する動画の説明を見る

    ~Django無料講義~のご案内

    Code for Djangoが、4時間超の無料Django講義をはじめました

    •  ・本を出版したCode for Djangoの
       製作者が作ったサイトです。
    •  ・Code for Djangoの内容も、
       動画で詳しく解説しています。
    •  ・動画は順次ふやしていきますので、
       ただで学び続けることが可能です。
    •  ・Djangoの効率的なスキルアップに、
       是非お役立て下さい。