Django重定向自视图.py到html页面

2024-10-06 12:35:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是django1.11。我开发了一些html页面视图.py 我叫佩奇来了放弃密码.html在这里我取用户的EmailId。 我找到相应的安全问题,并希望将其显示给用户以输入答案。我有另一页叫获取密码.html为了这个。 代码如下: 视图.py在

def forgotpassword(request):
   usercontemail = request.POST['useremail']
   #Get the securityquestion from Database  
   return redirect(request,'home/getpassword.html',{'squestion': squestion}) 


def getpassword(request): 
   #Display security question, get the answer from user & proceeed 

当用户输入他的电子邮件和点击提交时,我可以看到输入区,供用户输入他的安全答案,这是来自获取密码.html. 但网址仍然存在密码.html在

所以当用户输入他的安全答案时,我收到的用户邮件错误不能为空。这是因为url问题。在

你能提出解决办法吗?在


Tags: the答案代码用户frompy视图密码
2条回答

必须执行重定向而不是渲染模板。在

def forgotpassword(request):
  usercontemail = request.POST['useremail']
  #Get the securityquestion from Database 
  ## you can save the scurtiy question in session or you cn add the 
  ## question id in the url 
  return HttpResponseRedirect("url of the security question page") 

在重定向时,你给了check方法

^{pr2}$

另一个方法只是将表单中的操作定义为getpassword的URL

我遇到了一个类似的问题,我更新了一个记录,我的呈现重定向呈现了正确的页面,但是我的URL没有改变。我不知道的是,你不仅可以像你正在做的那样呈现重定向一个特定的页面,而且你还可以呈现重定向一个在你的网址.py文件。我通过指定一个网址.py声明的url,它有点像是通过普通的循环发送请求到url文件,然后发送到指定的视图文件,沿途传递任何声明的参数。在

所以在你的代码里

return redirect(request, 'home/getpassword.html', {'squestion': squestion })

你可以试试

^{pr2}$

确保你的网址.py文件指定要传递的参数。在

查看stackoverflow上的这篇文章: Django return redirect() with parameters

以及阅读render redirect()部分的django文档 https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/

希望有帮助。在

相关问题 更多 >