我是Django的初学者,因此在学习时发现了一些东西。
有些人正在进行请求检查
def register(request):
if request.method =='POST':
# Register user
redirect()
else:
return render(request,'accounts/register.html')
所以我发现没有必要,因为操作和方法已经在我的HTML表单中指定了。
<form action="{% url 'register' %}" method="POST">
对我而言,这是没有意义的,因为我们仅将帖子发布为注册请求。
我错了吗?
谢谢您的时间。
答案 0 :(得分:0)
您在这里同时使用GET和POST请求的视图。下面的代码给出了更多解释:
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
答案 1 :(得分:0)
发出发布请求以将任何用户输入提交到服务器后端。为了简单地陈述您的查询,这是Web程序的基本流程:
GET
请求作为GET / [status_code]
提交到服务器。因此,即使所请求的URL中的模板包含“ POST”格式,也要首先发出GET
请求。POST
方法提交数据,则服务器将以POST / [status_code]
的身份收到请求。因此,要处理两种类型的请求,您都需要检查正在发出的请求方法。 我想我已经回答了您的问题。