【发布时间】:2020-10-04 23:44:46
【问题描述】:
为什么我会收到这个错误? 本应从视图返回 Response、HttpResponse 或 HttpStreamingResponse,但收到 <class 'NoneType'>我该如何解决?
我的主页/api/views.py
from rest_framework import status
from rest_framework.response import Response
from rest_framework.decorators import api_view
from Homepage.models import EducationLevel
from Homepage.api.serializers import EducationLevelSerializer
@api_view(['GET', ])
def api_detail_educationlevel(request):
try:
education = EducationLevel.objects.all()
except EducationLevel.DoesNotExist:
return Response(status=status.HTTP_400_BAD_REQUEST)
if request.method == "GET":
serializer = EducationLevelSerializer(education)
return Response(serializer.data)
主页/api/serializers.py
from rest_framework import serializers
from Homepage.models import EducationLevel
class EducationLevelSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = EducationLevel
field = ('Sequence', 'Description', 'Status')
我的主页/api/urls.py
from django.urls import path
from Homepage.api.views import api_detail_educationlevel
app_name='educationlevel'
urlpatterns = [
path('', api_detail_educationlevel, name="detail"),
]
我的主要 urls.py
urlpatterns = [
path('api/educationlevel/', include('Homepage.api.urls', 'educationlevel_api')),
]
更新
当我尝试这个时
def api_detail_educationlevel(request, slug):
try:
education = EducationLevel.objects.get(id=slug)
except EducationLevel.DoesNotExist:
return Response(status=status.HTTP_400_BAD_REQUEST)
我收到这个错误
【问题讨论】:
-
@Compro Prasad no
-
很抱歉,您可以为此打开另一个问题。我不认为我们是来回答所有问题的。你试图滥用提问的特权。只需尝试查看您的问题并通过连接点来解决它。您可以在代码中的某些地方使用
import pdb; pdb.set_trace()来尝试哪些有效,哪些无效。
标签: python django django-rest-framework