为什么在Django的views.py中检查请求是否是POST?

Mah*_*del 6 django django-views

我是 Django 的初学者,所以在学习时我发现了一些东西。

有些人正在做请求检查,例如:

def register(request):
    if request.method =='POST':
        # Register user
        redirect()
    else:
        return render(request,'accounts/register.html')
Run Code Online (Sandbox Code Playgroud)

所以我发现没有必要,因为操作和方法已经在我的 HTML 表单中指定了。

<form action="{% url 'register' %}" method="POST">
Run Code Online (Sandbox Code Playgroud)

所以对我来说,这没有任何意义,因为我们只是发帖请求注册。

我错了吗?

rud*_*dra 7

这里您使用视图来处理GETPOST请求。下面的代码给出了更多解释:

def register(request):
    if request.method =='POST':  # comes here when you are making a post request via submitting the form
        # Register user
        redirect()
    else:  # if you are making a get request, then code goes to this block
        return render(request,'accounts/register.html')  # this is for rendering the html page when you hit the url
Run Code Online (Sandbox Code Playgroud)