环境:Python3.8 + Django3.0
urls.py
path('detail/<int:pk>/', views.BaseDetailView.as_view())
views.py
from django.http import JsonResponse
from .models import Blog
from django.views.generic.detail import BaseDetailView
class BlogDetailView(BaseDetailView):
model = Blog
def render_to_response(self, context):
blog = context['object']
data = {
'blog': {
'id': blog.id,
'title': blog.title,
'content': blog.content,
'author': {
'id': blog.author.id,
'username': blog.author.username
}
}
}
return JsonResponse(data)
请求URL:
http://127.0.0.1:8000/blog/detail/1/
报错:
ImproperlyConfigured at /blog/detail/1/
BaseDetailView is missing a QuerySet. Define BaseDetailView.model, BaseDetailView.queryset, or override BaseDetailView.get_queryset().