我有一个表单,当用户提交有效信息(点击页面上的“提交”按钮)时,我目前正在重定向到成功页面。
class PostAdPage(CreateView):
template_name = 'post_ad.html'
success_url = '/awesome/'
form_class = PostAdForm
def form_valid(self, form):
form.save()
return HttpResponse("Awesome.")
我不希望重定向发生。相反,我希望显示HTTP响应来代替表单。
如果没有创建另一个视图来呈现提交的响应,有没有办法显示响应?
答案 0 :(得分:1)
是,
成功操作后,重定向到新页面会更好,更安全。
如果您在POST方法上呈现响应,则用户可以刷新页面,表单将再次发送。如果您重定向到另一个页面,则不会出现此问题。
有关更详细的参数,请参阅http://en.wikipedia.org/wiki/Post/Redirect/Get。
答案 1 :(得分:1)
改用JavaScript。
答案 2 :(得分:1)
作为替代/更全面的解决方案,您可以考虑使用messages framework。 使用起来非常方便,并且可以避免一些额外的观看。