2017-12-18 133 views
0

我有一个django应用程序。这是一个填表(如回答5个问题点击下一个按钮,并转到下5个问题)。所有有问题的步骤都在1个视图和1个html文件中呈现。如果我点击about_us或其他链接(到另一个视图和html文件),那么后退按钮点击后面会出现“需要重新提交表单”,并从一开始就需要填写。 如何严格回到原来的地方。表格重新提交Django如何避免刷新或返回按钮

使用下一个代码查看渲染模板。

@secure_required 
def presubmit(request):  

if request.user.is_authenticated(): 
    profile = request.user.profile 
    try: 
     profile.vodID = dictresponse['soap:Envelope']['soap:Body']['InitiateVOAResponse']['VOD_ID'] 
    except: 
     profile.vodID = '' 
    profile.save() 
    lo = {} 
     try: 
     lo_user = User.objects.get(email=request.user.profile.loanOfficer) 
     lo_obj = LoanManager.objects.get(user=lo_user) 
     lo['isChosen'] = True 
     lo['name'] = lo_obj.user.profile.firstName + ' '+lo_obj.user.profile.lastName 
     lo['email'] = request.user.profile.loanOfficer 
     lo['nmlsID'] = lo_obj.nmlsID 
     lo['phone'] = lo_obj.phone 
    except: 
     lo['isChosen'] = False 

    load = False 
    try: 
     preapp = PreApp.objects.filter(username=request.user.username).order_by('-id')[0] 
     load = True 
    except: 
     pass 
    return render_to_response('home/revisedVersion.html', {'user': request.user, 'lo':lo, 'accountcheckURL': accountcheckURL,'load':load}, context_instance=RequestContext(request)) 
return render_to_response('home/revisedVersionSignup.html', {'user': User.objects.get(email='[email protected]')}, context_instance=RequestContext(request)) 

revisedVersionSignup有,如果用户进行身份验证,并做了NPT在中间步骤

回答

0

此退出应该不会有什么做的Django重定向到这个页面,它仅仅是浏览器是如何工作的方式。您已提交帖子填写表格,然后转到其他链接,然后再返回。您已经通过浏览器重新提交帖子,并且您的视图不知道要借出哪个步骤,因此从0开始,因为您只使用一个视图来显示表单。 您可以添加某种步长计数器,但我不会建议,因为它最终可能会导致问题。 所以树可能的解决方案

  1. 更改您的形式是“JavaScript的形式”,你只要一次提交的结果 - 如果你允许有场景这样一个
  2. 使用_blank在形式提供的链接,所以这些链接将在新标签页中打开,并且不会中断表单(最简单的解决方案)。
  3. 使用一些警告模式来通知用户,如果他(她)离开的形式,它需要从0
+0

空白和模式填充是我目前使用,但客户希望它以另一种方式) ))\ –