Я пытаюсь BeautifulSoup4 в Django, и я разбирал с ним XML-страницу. Когда я пытаюсь разобрать одну и ту же страницу XML в интерпретаторе python по-другому, она отлично работает. Но в Django я получаю страницу, как показано ниже.Не получается вывод в Django для BeautifulSoup
views.py:
def rssfeed(request):
list1=[]
xmllink="https://rss.sciencedaily.com/computers_math/computer_programming.xml"
soup=BeautifulSoup(urlopen(xmllink),'xml')
for items in soup.find_all('item'):
list1.append(items.title)
context={
"list1":list1
}
return render(request,'poll/rssfeed.html',context)
rssfeed.html:
{% if list1 %}
<ul>
{% for item in list1 %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endif %}
Что я делаю неправильно?
Я бы поставил там какие-либо заявления печати или «import pdb; pdb.set_trace() ', чтобы вставить в интерактивный интерпретатор и посмотреть, что происходит. Кроме того, я думаю, что '{% if list1%}' не нужно, потому что, если список пуст, цикл for не будет создавать код шаблона. – elethan
Спасибо. Я не знал этого, потому что я только начал учиться. Но со ссылкой на второй пункт, я подумал, что могу позже сказать и напечатать что-то. –
Итак, что вы видите в окне терминала, когда вы добавляете 'print (items.title)' прямо перед 'list1.append (items.title)' или если вы помещаете 'print (list1)' прямо перед оператором 'return' ? Запустив код, я получил список заголовков, завернутых в '