【发布时间】:2021-08-12 07:19:47
【问题描述】:
我的注册表有问题。就是当我通过邮递员发出请求时,它会抛出错误:post () missing 1 required positional argument: 'request'
我的网址:
from .views import UserRegistrationView
urlpatterns = [
path('register', UserRegistrationView.post),
]
网址包括:
urlpatterns = [
path('admin/', admin.site.urls),
path('api/user/', include('user.urls')),
]
我的观点
from rest_framework import status
from rest_framework.generics import CreateAPIView
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
from .serializers import UserRegistrationSerializer
from rest_framework.decorators import api_view
class UserRegistrationView(CreateAPIView):
permission_classes = (AllowAny,)
@api_view(('POST',))
def post(self, request):
serializer = UserRegistrationSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
status_code = status.HTTP_201_CREATED
response = {
'success' : 'True',
'status code' : status_code,
'message': 'User registered successfully',
}
return Response(response, status=status_code)
我的邮递员发帖:
网址:http://127.0.0.1:8000/api/user/register
正文(原始):
{
"email":"asdf@asdf.com",
"password":"123456",
"profile": {
"first_name": "asdf",
"last_name": "asdf",
"phone_number": "622111444",
"age": 38,
"gender": "M"
}
}
我的错误:TypeError at /api/user/register post() 缺少 1 个必需的位置参数:'request'
【问题讨论】: