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)

django的request.POST和request.body全部都是空
django的request.POST和request.body全部都是空


回答:

看你的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

回到顶部