gpt4 book ai didi

python - 在 Django 1.6 中使用另一个 url slug 从 View 重定向到另一个 html 页面

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:25 25 4
gpt4 key购买 nike

我有一个 View (登录 View )。 /login/ 将使用它网址。

我的意思是http://<base-url>/login/

在 urls.py 中我正在做 url(r'^login/$',myapp.views.login)

def login(request,template='login.html'):
#do login stuff
If successfully logged-in:
then redirect to new html page with new url let say '/home/'
else:
show same login page again and ask user to enter valid credentials

因此,如果用户成功登录,我想重定向/转移到新链接 http://<base-url>/home/这应该与模板文件夹中的“home.html”文件关联(其中“login.html”已经存在)

现在在这个 home.html 上我有一个表单(要求用户在文本框中输入一些内容。)并且在此主页的末尾有一个提交按钮,单击此提交按钮后我将保存所有输入的详细信息在数据库中。我可以做所有这些事情,但我被困在重定向部分(我能够更改 html 页面(我的意思是成功登录后显示“home.html”的内容))

但我无法更改 url slug。仍然是/login/但我希望它是 /home/ .

显然我有另一个 home.html View ,它将处理将数据从表单保存到数据库。

最佳答案

您需要做的是让登录 View 在成功时返回重定向。例如:

from django.http import HttpResponseRedirect

def login(request, template='login.html'):
if successfully logged in:
return HttpResponseRedirect('/home/')
...

在这种情况下,/home/将需要成为 urls.py 和另一个 View 中的另一个条目。例如:

url.py:

url(r'^home/$', 'myapp.views.home'),

views.py:

def home(request):
return render(request, 'home.html')

关于python - 在 Django 1.6 中使用另一个 url slug 从 View 重定向到另一个 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24249927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com