突然之间,我收到了这个错误。 它一直工作到现在,但现在不行了。我只是试图让缩略图工作仍然无法正常工作。 我的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
答案 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'