AttributeError at:'NoneType'对象没有属性'src'

时间:2015-12-31 18:24:36

标签: python django

突然之间,我收到了这个错误。 它一直工作到现在,但现在不行了。我只是试图让缩略图工作仍然无法正常工作。 我的views.py

class PostCreateView(CreateView):

     model = Post
     form_class = PostForm
     template_name = 'main/add_post.html'

     def form_valid(self, form):
            self.object = form.save(commit=False)
            # any manual settings go here
            self.object.moderator = self.request.user
            self.object.image = extract(self.object.url) 

            self.object.save()
            return HttpResponseRedirect(reverse('post', args=[self.object.slug]))

     @method_decorator(login_required)
     def dispatch(self, request, *args, **kwargs):

            return super(PostCreateView, self).dispatch(request, *args, **kwargs)

my medias.py

import json
from goose import Goose   

def extract(url):
    g = Goose()
    article = g.extract(url=url)
    resposne = {'image':article.top_image.src}
    return article.top_image.src

1 个答案:

答案 0 :(得分:1)

考虑Python告诉你的错误。您的article对象根本没有top_image。没有top_image,没有src属性。确保你的文章有一个图像,这可能意味着上传一些东西,因为你称之为“媒体”。

这不是编程错误。虽然您应该考虑为此类情况添加一些错误检查。除非Article对象需要top_image且无法保存/实例化,否则很可能有人会在没有图像的情况下编写文章,并且有一天你会再次看到这个错误。此外,您分配了resposne(拼写错误?)变量,从不使用它。

以下是如何在shell中复制错误,不需要Django:

>>> top_image = None
>>> top_image.src
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'src'