2011-05-18 62 views
1

我有一个POST提交,我需要通过变量'count'当页面重新加载。我目前使用的是render_to_response,但我认为这是错误的方法(尽管它目前正在运行)。这是我的代码 -Django重定向传递变量

def email(request): 
    count=0 
    emails = EmailList.objects.order_by('network') 
    networks = Network.objects.all() 
    form = EmailListForm(request.POST) 
    if request.method == 'POST' and form.is_valid(): 
     if form.cleaned_data.get('domain'): 
       EmailList.objects.create(domain=form.cleaned_data['domain'], network=Network.objects.get(network=request.POST['domain_network'])) 
       return redirect('.') # should be using a redirect() ??? 
     if form.cleaned_data.get('email'): 
      for x in form.cleaned_data.get('email'): 
       EmailList.objects.create(email=x, network=Network.objects.get(network=request.POST['email_network'])) 
       count += 1 
      # this next line is the one I'm asking about 
      return render_to_response('email_add.html',{'networks':networks, 'emails':emails, 'form':form, 'count':count}, context_instance = RequestContext(request)) 
return render_to_response('email_add.html',{'networks':networks, 'emails':emails, 'form':form}, context_instance = RequestContext(request)) 

是否需要替换render_to_response?如果是这样,那么新的代码行应该是什么?

回答

0

无论如何,您都可以简单地通过count。你不需要单独的render_to_response s。在做任何事情之前,测试它在模板中是否为非零。