成功した送信を特定のページにリダイレクトする必要があります。
urlpatterns = patterns('',
url(r'create/$', RestaurantCreate.as_view(), name='restaurant_create'),
url(r'preview/$', RestaurantPreview.as_view(), name='restaurant_preview'),
)
レストランが作成されたら、次のように、この URL のプレビュー ページにリダイレクトします (スラッグが「applebees」であると仮定します)。
http://127.0.0.1/restaurant/applebees/preview
ここに私の RestaurantCreate クラスがあります:
class RestaurantCreate(CreateView):
form_class = RestaurantForm
template_name = 'restaurant_form.html'
success_url = 'success'
model = Restaurant
def form_valid(self, form):
obj = form.save(commit=False)
obj.slug = unique_slug(obj.name, Restaurant)
obj.created_by = self.request.user
obj.save()
return HttpResponseRedirect('/')
上記のコードの最後の行を変更する必要があります。これで、ハッキングしていくつかの文字列を追加してリダイレクトできますが、これを正しい方法で行うにはどうすればよいですか (名前付き URL または逆 URL を使用しますか?)。リダイレクトを正しく行う方法についてのアイデアはありますか?