Django AttributeError: ‘Blog‘ object has no attribute ‘object_list‘

写django时,将form渲染到Html中时,出现该错误

Traceback (most recent call last):
  File "C:\Users\top\anaconda3\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "C:\Users\top\anaconda3\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\top\anaconda3\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\django\views\generic\base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\django\contrib\auth\mixins.py", line 52, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\rest_framework\views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "C:\Users\top\anaconda3\lib\site-packages\rest_framework\views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "C:\Users\top\anaconda3\lib\site-packages\rest_framework\views.py", line 480, in raise_uncaught_exception
    raise exc
  File "C:\Users\top\anaconda3\lib\site-packages\rest_framework\views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\django\views\generic\base.py", line 158, in get
    context = self.get_context_data(**kwargs)
  File "C:\Users\top\anaconda3\lib\site-packages\django\views\generic\list.py", line 115, in get_context_data
    queryset = object_list if object_list is not None else self.object_list
AttributeError: 'Blog' object has no attribute 'object_list'


附上我的代码:

class Blog(LoginRequiredMixin,TemplateView,ListCreateAPIView,MultipleObjectMixin):
    context_object_name = 'courses'
    template_name = 'users/blog.html'
    login_url = "/up/login/"
    queryset = ArticleColumn.objects.all()

    def post(self, request, *args, **kwargs):
        serializer = ArticleColumnForm(data=request.POST)
        if serializer.is_valid():
            new_course = serializer.save(commit=False)
            user_id = UserProfile.objects.filter(username=request.user).values('id')[0].get('id')
            new_course.user_id =user_id
            new_course.save()
        return HttpResponse("OKOK")

    def get_queryset(self):
        qs = super(Blog, self).get_queryset()
        return qs.filter(user=self.request.user)

网上也找不到类似的错误,就自己一点点的分析源码,原来是少写了一行代码。

object_list = ArticleColumn.objects.all()
class Blog(LoginRequiredMixin,TemplateView,ListCreateAPIView,MultipleObjectMixin):
    object_list = ArticleColumn.objects.all()
    context_object_name = 'courses'
    template_name = 'users/blog.html'
    login_url = "/up/login/"
    queryset = ArticleColumn.objects.all()

    def post(self, request, *args, **kwargs):
        serializer = ArticleColumnForm(data=request.POST)
        if serializer.is_valid():
            new_course = serializer.save(commit=False)
            user_id = UserProfile.objects.filter(username=request.user).values('id')[0].get('id')
            new_course.user_id =user_id
            new_course.save()
        return HttpResponse("OKOK")

    def get_queryset(self):
        qs = super(Blog, self).get_queryset()
        return qs.filter(user=self.request.user)

这样就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值