一个接一个地提交两个表格

时间:2014-04-08 22:00:20

标签: python django-forms

我正在制作我的第一个django webaite,我正在尝试一个接一个地提交两个表单。 这是views.py:

def home(request):
  import json
  if request.method == 'POST':
    form = MajorForm(request.POST)
    if form.is_valid():
        url = 'http://www.mysite.com:8082'
        dataout = {'my':'data'}
        headers = {'content-type':'application/json'}
        r = requests.post(url,data=json.dumps(dataout),headers=headers)
        return collector(request)
    else:
        return HttpResponse("thnx")
  else:
    form = MajorForm()
  return render(request,'index.html',{'form':form})

def collector(request):
  if request.method == 'POST':
    form = ContactForm(request.POST)
    if form.is_valid():
       return HttpResponse("thanx")
    else:
       return HttpResponse("not valid")
  else:
    form = ContactForm();
  return render(request,'collector.html',{'form':form})

所以第一个视图调用第二个视图。第一种形式工作正常,第二种形式也很好,但提交第二种形式根本不起作用(我从来没有能够到达form.is_valid path)。也许从另一个视图调用一个视图的整个方法是不正确的?什么是正确的?

1 个答案:

答案 0 :(得分:0)

请正确缩进代码。当request.method不是POST时,你在收集器函数中也缺少else。