django的request.POST和request.body全部都是空
我在django中写了一个登录请求打算使用他做前端的vue现在还没有去做token的保持功能,我使用postman进行post请求时,写了username和password但是后端当我打印这个request.POST和request.body时这两个均为空这个是为什么
def log_in(request): print(request.body)
response = {}
if request.method == "POST":
username = request.POST.get("username")
password = request.POST.get("password")
print(username, password)
user = auth.authenticate(username=username, password=password) # 验证用户名和密码
if user:
# 如果认证成功,就让登录,这个login里面包括了session操作和cookie
auth.login(request, user)
return JsonResponse('登录成功了', safe=False)
else:
s = "用户名和密码输入错误"
print('hahahaha')
return JsonResponse('username', safe=False)
return JsonResponse('登录失败了', safe=False)
回答:
看你的postman,参数写的位置不对
params是填充在url上
请求体的参数是body
回答:
def log_in(request): print(request.body)
response = {}
if request.method == "POST": # 方法是post
username = request.POST.get("username")
password = request.POST.get("password")
print(username, password)
代码中方法是post,在postman传参,就不能在params中了,应该是body。
如果get方法,你可以选择params中传参。
以上是 django的request.POST和request.body全部都是空 的全部内容, 来源链接: utcz.com/a/164137.html