如何从Django的另一页返回主页?我无法退出上次调用的定义。

huangapple go评论89阅读模式
英文:

How can I go to homepage from another page in Django? I am unable to exit from last called definition

问题

  1. def save(request, id):
  2. if request.method == 'POST':
  3. if request.POST.get('name'):
  4. table = Userdb.objects.get(id=id)
  5. table.name = request.POST.get('name')
  6. table.url = request.POST.get('url')
  7. table.phone = request.POST.get('phone')
  8. table.dob = request.POST.get('dob')
  9. table.save()
  10. #messages.success(request, "record saved successfully")
  11. #return redirect('userlist')
  12. #return HttpResponseRedirect({%urls 'index'% })
  13. return render(request, "index.html")

这里是最后一部分,我已经重定向到index.html。 但实际上我没有退出保存定义。 请参考下一个快照。
网页中的URL不显示index.html,而显示save。 还有index网页的CSS丢失。

我尝试过各种URL,但都没用。 也尝试更改setings.py,仍然无济于事。
我想导航到主页,不留下任何旧定义的痕迹

英文:
  1. def save(request,id):
  2. if request.method=='POST':
  3. if request.POST.get('name'):
  4. table=Userdb.objects.get(id=id)
  5. table.name=request.POST.get('name')
  6. table.url=request.POST.get('url')
  7. table.phone=request.POST.get('phone')
  8. table.dob=request.POST.get('dob')
  9. table.save()
  10. #messages.success(request,"record saved successfully")
  11. #return redirect('userlist')
  12. #return HttpResponseRedirect({%urls 'index'% })
  13. return render(request,"index.html")

Here at last part,I have directed to index.html. But actually I am not exited the save definition. please refer next snapshot.
The url in webpage dont show index.html but shows save. Also css of index webpage is lost.

I tried various urls but didnt work. Also tried to change setings.py still no avail.
I want to navigate to home page without trace of any older definition

答案1

得分: 0

使用重定向以转到主页。
对于URL,我建议使用reverse_lazy。

导入以下内容:

  1. from django.shortcuts import redirect
  2. from django.urls import reverse_lazy

重定向代码:

  1. return redirect(reverse_lazy("home"))

请注意,为了使reverse_lazy正常工作,在urls.py中URL的名称应为"home"。

英文:

You should use redirect to go to home page.
For URL I suggest to use reverse_lazy

import following:

  1. from django.shortcuts import redirect
  2. from django.urls import reverse_lazy

redirection code:

  1. return redirect(reverse_lazy("home"))

Please note, for reverse_lazy to work, the name of url should be "home" in urls.py

huangapple
  • 本文由 发表于 2023年7月3日 19:19:12
  • 转载请务必保留本文链接:https://go.coder-hub.com/76604234.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定