【问题标题】:AttributeError: module 'rest_framework.serializers' has no attribute 'as_view' in djangoAttributeError:模块'rest_framework.serializers'在django中没有属性'as_view'
【发布时间】:2020-07-20 09:57:44
【问题描述】:

我已经在我的项目中导入并安装了 djangorestframework 并将其导入我的设置,我如何调用或导入我的序列化程序到我的 urls.py,我收到此错误 AttributeError: module 'rest_framework.serializers' has没有属性“as_view”

这是我的 serializers.py

from rest_framework import serializers
from .models import register

class registerSerializer(serializers.ModelSerializer):
    class Meta:
        model = register
        field = ('username', 'password', 'email')

这是我的 urls.py

from rest_framework import serializers
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', serializers.as_view(), name='serializers')
]

这是我的 settings.py

INSTALLED_APPS = [
    'rest_framework',
    'registrationApp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

【问题讨论】:

  • 在您的情况下,您将序列化程序类连接到 URL,但您不应该这样做。视图应该与 URL 模式相关联。视图通常是我们在views.py 中编写并在urls.py 中导入这些类(或函数)并与 URL 模式连接。
  • 此外,您将在官方文档中找到示例。如需快速入门,请关注此django-rest-framework.org/tutorial/quickstart

标签: python django


【解决方案1】:

views.py

from .serializers import *
# PARA el uso del API (al final)
from rest_framework import viewsets
from .models import *
class RegisterViewSet(viewsets.ModelViewSet):
    queryset = register.objects.all()
    serializer_class = registerSerializer

urls.py

from rest_framework import routers
router = routers.DefaultRouter()
router.register('register', RegisterViewSet)
urlpatterns = [
    path('', include(router.urls), name='api-rest'),
]

documentation rest-framework

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 2023-01-03
    • 2021-01-12
    • 1970-01-01
    • 2021-04-24
    • 2020-02-16
    • 2016-03-06
    • 1970-01-01
    • 2019-01-23
    相关资源
    最近更新 更多