gpt4 book ai didi

django - 如何在 Django 中将 http 请求从 Post 更改为 Get?

转载 作者:行者123 更新时间:2023-12-04 05:12:01 24 4
gpt4 key购买 nike

假设我有一个将接受 POST 请求的 View 。验证检查通过后,我需要使用 GET 方法将请求重定向到另一个 HTML/ View :

def view1(request):
if request.POST:
form = TempForm(request.POST)
if form.is_valid():
return redirect(request, 'view2')

def view2(request):
if request.POST:
#POST stuff here
else:
#GET stuff here

我的问题是在 form.is_valid() 之后,重定向请求将作为 POST 方法传递。我的最终目标是使用 GET 方法重定向 view2。

我可以在 Django 中做这样的事情吗?

最佳答案

您可以使用 HttpResponseRedirect类重定向到您喜欢的任何 URL。由于它是重定向,因此请求将是 GET 请求(使用 http 重定向无法进行 POST - 这是 http 协议(protocol)的限制)。

如果您需要添加 GET 参数,您可以简单地自己创建 GET 字符串 -

get_string = "?"
get_strint += "my_param=" + my_variable + "&"
get_string += "my_other_param=" + my_other_variable
return HttpResponseRedirect('/my_url/' + get_string)

关于django - 如何在 Django 中将 http 请求从 Post 更改为 Get?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810775/

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