我正在爲前端使用create react應用程序。我的問題是每個POST請求都不包含django端的內容。以下是視圖:請求正文在django中爲空
def login(request):
if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
print(request.POST) // prints <QueryDict: {}>
user = auth.authenticate(username=username, password=password)
if user:
token = Token.objects.get_or_create(user=user)
return JsonResponse({'token': str(token[0])}, status=status.HTTP_200_OK)
else:
return JsonResponse({'error': 'Username/Password is not valid'}, status=status.HTTP_401_UNAUTHORIZED)
我已在package.json中添加"proxy": "http://localhost:8000"
。
這裏是反應部分:
handleSubmit(event) {
event.preventDefault();
axios({
method: "post",
url: "/api/auth/",
data : {
"username": this.state.username,
"password": this.state.password
}
}).then(function (response) {
console.log(response);
}).catch(function(error){
console.error(error.response.data["error"]);
})
}
我還檢查前端網絡數據,有在請求正文的用戶名和密碼。
urls.py
router = routers.DefaultRouter()
router.register(r'notes', views.NotesViewset)
urlpatterns = [
url(r'^api/auth/', views.login),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api/', include(router.urls)),
url(r'^', views.BunnyAppView.as_view()),
]
試'request.data'不是'request.POST' –
AttributeError:'WSGIRequest'對象沒有'data'屬性 @JahongirRahmonov – pyprism
你使用的是什麼版本的Django? –