删除后的django重定向
django redirect after delete
从我的数据库中删除一个对象后,我想重定向到某个视图。
这是我对发生删除的看法:
def client_delete(request):
if request.method == 'GET':
return _not_exist_page(request)
else:
client = Client.objects.get(id=request.POST['id'])
client.delete()
print('deleted')
return redirect('clients:index')
print('deleted2')
当我删除一个对象时,这是我在终端上看到的:
deleted
[03/Apr/2018 15:55:50] "POST /clients/delete/ HTTP/1.1" 302 0
[03/Apr/2018 15:55:50] "GET /clients/ HTTP/1.1" 200 7467
这意味着重定向被触发(这就是第二次打印没有出现的原因)但是我浏览器中的视图没有改变。
知道为什么会这样吗?
谢谢
你可以这样做:
from django.shortcuts import redirect
return redirect('person_list')
其中 person_list 是您的 URL 姓名
url('delete/<int:id>/', persons_delete, name="persons_delete")
您正在向服务器发出 jQuery
POST
请求,这意味着服务器无法控制接下来要显示的内容。我的建议是像 {'status': True, etc...}
一样将 JsonResponse 返回给服务器,并根据您的服务器响应更改视图。您可以使用 javascript window 更改视图。
// similar behavior as an HTTP redirect
window.location.replace("http://whosebug.com");
从我的数据库中删除一个对象后,我想重定向到某个视图。
这是我对发生删除的看法:
def client_delete(request):
if request.method == 'GET':
return _not_exist_page(request)
else:
client = Client.objects.get(id=request.POST['id'])
client.delete()
print('deleted')
return redirect('clients:index')
print('deleted2')
当我删除一个对象时,这是我在终端上看到的:
deleted
[03/Apr/2018 15:55:50] "POST /clients/delete/ HTTP/1.1" 302 0
[03/Apr/2018 15:55:50] "GET /clients/ HTTP/1.1" 200 7467
这意味着重定向被触发(这就是第二次打印没有出现的原因)但是我浏览器中的视图没有改变。
知道为什么会这样吗?
谢谢
你可以这样做:
from django.shortcuts import redirect
return redirect('person_list')
其中 person_list 是您的 URL 姓名
url('delete/<int:id>/', persons_delete, name="persons_delete")
您正在向服务器发出 jQuery
POST
请求,这意味着服务器无法控制接下来要显示的内容。我的建议是像 {'status': True, etc...}
一样将 JsonResponse 返回给服务器,并根据您的服务器响应更改视图。您可以使用 javascript window 更改视图。
// similar behavior as an HTTP redirect
window.location.replace("http://whosebug.com");