2017-12-07 10 views
0

引数を指定してリダイレクトしたいと同時に、リダイレクトされたページにメッセージを送信します。リダイレクトするように引数とメッセージでリダイレクト

:私はWICHするページに送信する

path('companies/<int:pk>/', AccountCompanyDetailView.as_view(), name='detail_company') 


from django.shortcuts import redirect 

def post_view(request, id): 
    return redirect('detail_company', pk=id) 

は、それがリダイレクトされた理由をユーザーに示すために、「メッセージ」をリダイレクトされます。

可能でしょうか?

+2

あなたのリダイレクトは正常に見えます。 [messages framework](https://docs.djangoproject.com/en/2.0/ref/contrib/messages/)を使ってメッセージを作成することができます。 – Alasdair

+0

@ Alasdair、問題はそのままのリダイレクトではありませんが、リダイレクトと同時にメッセージを送り返す方法はわかりません。リダイレクトではなくメッセージフレームワークを使用した例がいくつか見受けられました – user3541631

+1

メッセージフレームワークは、通常のHTTPレスポンスまたはリダイレクトを返すかどうかに関係なく動作します。 – Alasdair

答えて

0

非常に簡単な解決策は、このようにあなたのurls.pyを変更することです:

url(r'^'desired_url_to_redirect/(?:(?P<error_key>[0-9]+)/)?$', views.'name_of_your_view', name='name_of_your_view'), 

2番目のパラメータはオプションで、型エラーのためのキーとして機能します。残っている唯一のことは、エラーの種類に基づいて目的のメッセージを表示するためにテンプレートを更新することです。あなたのビューを定義するための

が2番目のパラメータとして挿入することを忘れないでください「ERROR_KEY =なし」

+0

私はDjango 2.0の新しいURLパターンを使用していますので、これは解決策ではありません – user3541631

関連する問題