为什么Django模板未显示任何输出?

问题描述 投票:0回答:2

所以,这里我正在使用django编写一个简单的新闻应用程序,但是模板似乎无法正常工作,它没有显示从views.py传递的任何输出。我已经检查了settings.pyINSTALLED_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,...

python django python-3.x django-templates django-views
2个回答
0
投票

您有类似的东西:


0
投票

news_list中,您将获得<class 'bs4.element.ResultSet'>漂亮的汤对象,这就是为什么您可以在视图中打印它,而不能在模板中使用它。

© www.soinside.com 2019 - 2024. All rights reserved.