【发布时间】:2020-04-22 13:28:40
【问题描述】:
我在 django-rest-framework quickstart 关注了 turial
我有两个网址,即/users/ 和/groups/
服务器错误 500
我将DEBUG 设置为False,然后在settings.py 中将一些主机添加到ALLOWED_HOST:
DEBUG = False
ALLOWED_HOSTS = [
'127.0.0.1',
'localhost'
]
INSTALLED_APPS = [
'rest_framework',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
我的urls.py:
from django.contrib import admin
from django.urls import include, path
from rest_framework import routers
from django_rest.django_rest_app import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
这是我的serializers.py:
from django.contrib.auth.models import User, Group
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ['url','username','email','group']
class GroupSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Group
fields = ['url','name']
这是我的views.py:
from django.shortcuts import render
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from rest_framework import permissions
from django_rest.django_rest_app.serializers import UserSerializer, GroupSerializer
class UserViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = User.objects.all().order_by('-date_joined')
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated]
class GroupViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows groups to be viewed or edited.
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
permission_classes = [permissions.IsAuthenticated]
更新
当我再次将DEBUG 设置为True 时,我得到了这个:
字段名称
group对模型User无效
我还是个初学者,希望能帮到你
谢谢。
【问题讨论】:
-
您能否将您在日志中获得的完整回溯添加到您的问题中
-
Django
User模型没有名为group的字段,这可能是您的问题? -
当我在日志中
runserver时,所有正常的网络显示都照常出现,当我在 URL 上写http: //127.0.0.1:8000/users/时,然后在我的日志中显示:[22 / Apr / 2020 12:01:32] GET / users / HTTP / 1.1 500 145。 @IainShelvington -
是的,以前我收到此错误
The Django User model does not have a field named group,但现在已解决.. -
User上没有“组”字段,是否要返回UserSerializer中的组列表?
标签: python django django-rest-framework