This is a view written for my posts app in Django. The problem is that after filling the update form and submitting it happens successfully. But it creates confusion for the user because the same HTML page is there and how can I redirect into the updated object?
def post_update(request,id=None): instance=get_object_or_404(Post,id=id) if instance.created_user != request.user.username : messages.success(request, "Post owned by another user, You are having read permission only") return render(request,"my_blog/denied.html",{}) else : form=PostForm(request.POST or None,request.FILES or None,instance=instance) if form.is_valid(): instance=form.save(commit=False) instance.save() context={ "form":form, "instance":instance } return render(request,"my_blog/post_create.html",context)
Advertisement
Answer
You can use redirect
from http shortcuts.
from django.shortcuts import redirect def my_view(request): ... object = MyModel.objects.get(...) return redirect(object) #or return redirect('/some/url/')
Here is the link to official docs.