UPDATE: Оператор if не выполняется, что странно, поскольку я тестировал скрипт вне Django и работал только на Python.Переменная, на которую ссылаются до ее назначения
Я знаю, что этот вопрос задавали много раз здесь, но я не могу найти ответ, который поможет мне разобраться в моей ошибке. Здесь ошибка я получаю:
local variable 'what_i_need' referenced before assignment
Вот мой код в ВИДЕ:
from django.http import HttpResponse
from django.shortcuts import render
from urllib2 import urlopen
from bs4 import BeautifulSoup
def test(request):
someURL = "https://www.example.com/"
urlOpen = urlopen(someURL).read()
soup = BeautifulSoup(urlOpen)
for x in soup.findAll('span'):
if 'something' in str(x):
info = x.get_text()
info = info.split()
info = info[0]
info = info.replace(".", '')
what_i_need = info
return HttpResponse(what_i_need)
Что я делаю неправильно?
Вы правы. Оператор if не выполняется - что странно - потому что, когда я тестирую скрипт не в Django, он работает. Есть идеи? – user2270029
Это зависит от того, что 'soup.findAll ('span')' возвращается. –
Попробуйте напечатать результат 'soup.findAll ('span')' как отдельную страницу Django? И выясните это. –