2013-05-18 3 views
0

поэтому я создал скрипт python для захвата изображений из субредадата (из альбомов Imgur и imgur). Я успешно сделал это (он возвращает img urls) и хотел интегрировать его в django, поэтому я могу развернуть его в Интернете и позволить другим людям использовать его. когда я начал запускать сервер на своей машине, изображения из subreddit загружаются безупречно, но когда я пытаюсь использовать другой subreddit, он держится за меня (я опубликую исключение в конце сообщения). поэтому я перезапускаю сервер django, и то же самое происходит. изображения загружаются без заминки. но во второй раз я это делаю, это дерьмо на меня. что дает?Мне нужно перезапустить сервер django, чтобы мое приложение правильно работало

Исключение Тип: siteError, которые в значительной степени включает в себя urllib2.HTTPError, urllib2.URLError, socket.error, socket.sslerror

так я нуб во всем этом, я не уверен, что происходит на. так кто-нибудь хочет помочь мне?

примечание: я также размещаю приложение на pythoneverywhere.com. такой же результат.

+0

Пожалуйста, разместите код или больше информации о том, что происходит. Это невозможно. –

+0

этот код довольно длинный, поэтому я положу его в pastebin: – user2396336

+0

этот код довольно длинный, поэтому я поставлю его в pastebin: http://pastebin.com/8RRfX9TS <-img grabber. http://pastebin.com/d7bEnQZC <-views. http://pastebin.com/jth2C5Gd <-urls. http://pastebin.com/AKLX2btT <-manage. http://pastebin.com/hMuk0tsy <-settings. – user2396336

ответ

0

Использование функции global в вашей функции get_subreddit выглядит неправильно.

reddit_url = 'http://reddit.com/r/' 
def get_subreddit(name): 
    global reddit_url 
    reddit_url += name 

Каждый раз, когда вы запускаете эту функцию, вы добавляете значение name к глобальной reddit_url.

  • Он начинается как http://reddit.com/r/
  • запустить get_subreddit("python") и изменения в http://reddit.com/r/python
  • перспективе get_subreddit("python") снова, и она меняется http://reddit.com/r/pythonpython
  • в данный момент, URL недействителен, и вы должны перезагрузить ваш сервер.

Возможно, вы захотите изменить get_subreddit так, чтобы он возвращал URL-адрес и извлекал этот URL-адрес в вашей функции.

def get_subreddit(name): 
    return "http://reddit.com/r/" + name 

# in your view 
url = get_subreddit("python") 
# now fetch url 

Возможно, есть и другие ошибки в коде. Вы действительно не можете ожидать, что кто-то из переполнения стека исправит все проблемы для вас в проекте такого размера. Лучшее, что вы можете сделать, это изучить некоторые методы для самостоятельной отладки вашего кода.

  • Посмотрите на весь след, а не только на окончательный SiteError. Посмотрите, в какой строке вашего кода возникает проблема.
  • Добавить инструкцию для регистрации или печати, и попытайтесь выяснить, почему происходит SiteError.
  • Вы пытаетесь загрузить URL-адрес, который, по вашему мнению, вы (как я объяснял выше, я не думаю, что вы, из-за проблем с вашим методом get_subreddit).

Наконец, я рекомендую вам убедиться, что сайт работает на вашем компьютере-разработчике, прежде чем перейти к его развертыванию на питоне в любом месте. Развертывание может вызвать множество головных болей само по себе, поэтому хорошо начать с приложения, которое работает до вашего запуска.

Удача :)

+0

полностью решить это! Большое спасибо! – user2396336

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