所以,这里我正在使用django编写一个简单的新闻应用程序,但是模板似乎无法正常工作,它没有显示从views.py
传递的任何输出。我已经检查了settings.py
,INSTALLED_APPS
设置是否有效
views.py
from django.shortcuts import render,HttpResponse
import bs4
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen
def get_news():
news_link = "https://news.google.com/news/rss"
page = urlopen(news_link)
xml_page = page.read()
page.close()
soup_page = soup(xml_page,"xml")
news_list = soup_page.findAll("item")
return news_list
def index(request):
news_list = get_news()
return render(request,'main/index.html',{'news_list' : news_list})
和模板
{% for news in news_list %}
<h3> {{ news.title.text }} </h3>
<h3> {{ news.pubDate.text }} </h3>
{% endfor %}
如果我从render()字典传递任何其他数据,它正在工作,但是在传递列表时,它不在模板中显示任何数据。>
我尝试检查列表是否为None或为空,但不,不为空。谢谢!
所以,这里我正在使用django编写一个简单的新闻应用程序,但是模板似乎无法正常工作,它没有显示从views.py传递的任何输出。我已经检查了settings.py,...
您有类似的东西:
在news_list
中,您将获得<class 'bs4.element.ResultSet'>
漂亮的汤对象,这就是为什么您可以在视图中打印它,而不能在模板中使用它。