明明失败了卻超淡然 2020-07-27 17:21 采纳率: 100%
浏览 108
已采纳

请求大佬支援!Django中使用BaseDetailView报错。

环境: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().
  • 写回答

1条回答 默认 最新

  • 放风喽 2020-07-27 20:11
    关注

    BaseDetailView缺少QuerySet。定义BaseDetailView.model, BaseDetailView.queryset,或覆盖BaseDetailView.get_queryset().

    所以你可以给quertset赋值
    queryset = 某个model.objects.all()

    或者重写get_queryset方法,
    def get_queryset(self):
    return 某个model.objects.all()

    学学djangorestfrmawork吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发