通过ModelForm保存项目后重定向

时间:2019-02-25 20:42:09

标签: django redirect render modelform

我正在使用模型窗体将一些项目添加到我的模型中。

在我看来:

def create_cf(request, fslug):
 detail = Fd.objects.get(slug=fslug)

 if request.method == 'POST':
    cf = CFForm(request.POST)
    if cf.is_valid():
        instancecf = cf.save()
        return redirect('cf:create_cf', fslug=fslug)
 else:
    cf = CFForm()
 return render(request, 'cf/create_cf.html', {'cf': cf})

模板:

<form  action="/create_cf/" method="post">
 {% csrf_token %}
 {{cf}}
 <input type="submit" value="Submit">
</form>

但是,不幸的是,我在/create_cf.html处发现页面未找到错误...我在做什么错了?

非常感谢

3 个答案:

答案 0 :(得分:0)

您正在尝试重定向到您所在的页面,对吗?

from django.http import HttpResponseRedirect


return HttpResponseRedirect(request.path_info)

答案 1 :(得分:0)

如果您想查看所查询对象的详细信息,则还需要将其传递给上下文。

尝试一下:

aggregate()

答案 2 :(得分:0)

这是解决方案(感谢Sam)

在我看来:

export default usePageActive(pageActive) {
  const [state, setState] = useState(pageActive);
  setState(// dispatch an action //)
}

模板:

def create_cf(request, fslug):
 detail = Fd.objects.get(slug=fslug)

 if request.method == 'POST':
    cf = CFForm(request.POST)
    if cf.is_valid():
        instancecf = cf.save()
        return redirect('cf:create_cf', fslug=fslug)
 else:
    cf = CFForm()
 return render(request, 'cf/create_cf.html', {'cf': cf})