gpt4 book ai didi

Django 区分 View 方法中的 get/post

转载 作者:行者123 更新时间:2023-12-02 11:39:04 25 4
gpt4 key购买 nike

我一直在使用其他语言,在这些语言中,我可以简单地为一个操作(比如登录)使用一个方法名称(在 Controller 中)。例如,在 Spring MVC 中,我可以有一种名为“login”的方法,并通过注释属性设置方法类型(get 或 post)。这在 Django 中可能吗?例如,我有这个方法登录:

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

该方法是通过GET访问的,我是否需要声明新方法,即login_post(request)来进行post访问?或者我应该检查第一个方法中 request.POST['value'] 是否不为空,如果不是,那么它是 POST,如果它是空,那么它应该是 GET。我是 Django 新手,您的建议如何?谢谢。

最佳答案

无需为每个函数创建函数,您可以“询问”请求:

你可以:

def login(request):
if request.method == 'POST':
# Your code for POST
else:
# Your code for GET
return render(request, 'login.html')

或者,您可以假设 GET 作为默认值:

def login(request):
if request.method == 'POST':
# Your code for POST
# make sure to put a "return redirect" statement here
# Your code for GET
return render(request, 'login.html')

两个都还好。另外,看看Class-based Views相反,它们非常有帮助。

关于Django 区分 View 方法中的 get/post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574403/

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