2016-01-05 3 views
0

Я не уверен, почему я получаю эту ошибку, недавно я установил метод if и else в свой файл мультимедиа, чтобы уловить некоторую ошибку, и теперь я получаю совершенно новый. Вот мой код.IndexError at/add_post/index index за пределами допустимого диапазона

media.py

import json 
    from goose import Goose 

    def extract(url): 
     g = Goose() 
     article = g.extract(url=url) 
     if article.top_image is None: 
      return "hello" 
     else: 
      resposne = {'image':article.top_image.src} 
      return article.top_image.src 

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) 
+0

Сообщите об ошибке, пожалуйста. Трудно сказать, где в этом коде произошла ошибка, и я уверен, что есть больше кода, к которому у нас нет доступа. – abe

+0

Может быть, article.top_image не имеет значения null, но article.top_image.src есть? –

+0

@IbrahimAhmed, ошибка IndexError at/add_post/индекс индекса за пределами диапазона Вам нужна трассировка? Это происходит из env/local/lib/python2.7/site-packages/django/db/models/fields/files.py в __get__, строка 202 –

ответ

0

Некоторые из ваших top_image не могла бы иметь атрибут src определен. Вы можете проверить следующее:

def extract(url): 
    g = Goose() 
    article = g.extract(url=url) 
    if article.top_image is None: 
     return "hello" 
    else: 
     if article.top_image.src is None: 
      return "hello" 
     else: 
      resposne = {'image':article.top_image.src} 
      return article.top_image.src 
+0

Здравствуйте, спасибо за ответ, я решил, что это похоже на ваше решение :), но сейчас у меня другая проблема. Не могли бы вы взглянуть на сообщение, которое я сделал здесь: http://stackoverflow.com/questions/34624069/why-isnt-my-image-got-saved?noredirect1_comment56994161_34624069 –

Смежные вопросы