是否将用户注册数据从DRF保存到Postgresql数据库



我正在django rest框架的帮助下构建一个用户注册的应用程序,我想将我的用户数据存储在我的postgresql数据库中,我可以在我的pgAdmin上看到我的模型,但在提出注册我的用户的post请求后,我无法在数据库中检索我的数据。

那么,我如何将这些数据保存在数据库中呢?

型号.py

from django.db import models
# Create your models here.

class User(models.Model):

username = models.TextField()
email = models.TextField()
password = models.TextField()

serializers.py

from rest_framework import generics, permissions
from rest_framework import serializers
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ( 'username', 'email', 'password')
def create(self, validated_data):
user = super(UserSerializer, self).create(validated_data)
user.set_password(validated_data['password'])
user.save()
return user

views.py

from rest_framework import generics
from rest_framework.permissions import AllowAny
from .models import User
from .serializers import UserSerializer
class UserCreateAPIView(generics.CreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (AllowAny,)

主项目urls.py文件:

from django.contrib import admin
from django.urls import include , path
urlpatterns = [
path('', include('templateApp.urls')),
path('admin/', admin.site.urls),
]

应用程序urls.py文件:

from .views import UserCreateAPIView
from django.urls import path
urlpatterns = [
path('api/register/', UserCreateAPIView.as_view(), name='register'),
]

我使用了api/login/并以这种格式传递了用户名和密码-{"用户名":"trevor";,"密码":"Password@123"}

并在LoginAPI.view((上得到了-的响应

{"到期":";令牌">:cef5d74b1e8fba6b5f496e7d8d0674505f45ac6f62a0d6aa9ac061bccb8b7d}

然后在终端上,我使用了命令-

curl -X POST http://127.0.0.1:8000/api/logout/ -H 'Authorization: Token cef5dd74b1e8fba6b5f496e7de8d0674505f45ac6f62a0d6aa9ac061bccb8b7d'

令牌在此之后被删除。

您可以在验证所有这些http://127.0.0.1:8000/admin在knox代币下。

我希望这能帮助

最新更新