Skip to content

Commit ddc97b0

Browse files
committed
Use shortcuts.redirect instead of HttpResponseRedirect.
1 parent 097c3df commit ddc97b0

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

django_forms/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,13 @@ Basically we have two things here: we save the form with `form.save` and we add
183183
Finally, it would be awesome if we can immediatelly go to `post_detail` page for newly created blog post, right? To do that we need more imports:
184184

185185
from django.core.urlresolvers import reverse
186-
from django.http import HttpResponseRedirect
186+
from django.shortcuts import redirect
187187

188188
Add them at the very beginning of your file. And now we can say: go to `post_detail` page for a post.
189189

190-
return HttpResponseRedirect(reverse(post_detail, kwargs={'pk': post.pk}))
190+
return redirect('blog.views.post_detail', pk=post.pk)
191191

192-
`post_detail` is a name of the view we want to go to. Remember that this view required a `pk` variable? To pass it to the views we use `kwargs={'pk': post.pk}`, where post is newly created blog post!
192+
`blog.views.post_detail` is a name of the view we want to go to. Remember that this view required a `pk` variable? To pass it to the views we use `pk=post.pk`, where post is newly created blog post!
193193

194194
Ok, we talked a lot, but we probably would like to see how the whole view looks like, right?
195195

@@ -200,7 +200,7 @@ Ok, we talked a lot, but we probably would like to see how the whole view looks
200200
post = form.save(commit=False)
201201
post.author = request.user
202202
post.save()
203-
return HttpResponseRedirect(reverse(post_detail, kwargs={'pk': post.pk}))
203+
return redirect('blog.views.post_detail', pk=post.pk)
204204
else:
205205
form = PostForm()
206206
return render(request, 'blog/post_edit.html', {'form': form})
@@ -256,7 +256,7 @@ Let's open a `blog/views.py` and add at the very end of the file:
256256
post = form.save(commit=False)
257257
post.author = request.user
258258
post.save()
259-
return HttpResponseRedirect(reverse(post_detail, kwargs={'pk': post.pk}))
259+
return redirect('blog.views.post_detail', pk=post.pk)
260260
else:
261261
form = PostForm(instance=post)
262262
return render(request, 'blog/post_edit.html', {'form': form})

homework_add_more_to_your_website/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ and finally, a view (as always, in `blog/views.py`):
7373
def post_publish(request, pk):
7474
post = get_object_or_404(Post, pk=pk)
7575
post.publish()
76-
return HttpResponseRedirect(reverse(post_detail, kwargs={'pk': pk}))
76+
return redirect('blog.views.post_detail', pk=pk)
7777

7878
Remember, when we created a `Post` model we wrote a method `publish`. It looked like this:
7979

@@ -106,11 +106,11 @@ Now, time for a view! Open `blog/views.py` and add this code:
106106
def post_remove(request, pk):
107107
post = get_object_or_404(Post, pk=pk)
108108
post.delete()
109-
return HttpResponseRedirect(reverse(post_list))
109+
return redirect('blog.views.post_list')
110110

111111
The only new thing is to actually delete a post. Every Django model can be deleted by `.delete()`. It is as simple as that!
112112

113-
And this time, after deleting a post we want to go to the webpage with a list of posts, so we are using `HttpResponseRedirect`.
113+
And this time, after deleting a post we want to go to the webpage with a list of posts, so we are using `redirect`.
114114

115115
Let's test it! Go to the page with a post and try to delete it!
116116

0 commit comments

Comments
 (0)