Может быть, я что-то делаю не так с моим сайтом-агрегатором контента? Я не могу заставить статьи отображаться

Я следовал онлайн-учебнику, но смог соскрести различные веб-сайты. Я не могу заставить заголовки статей отображаться. Я не уверен, проблема ли это с моей функцией возврата или с моим HTML-файлом. Вот код для файла views.py

 from django.shortcuts import render
        import requests
        from bs4 import BeautifulSoup as bs4

        soup = requests.get("https://www.washingtonpost.com/")

        content = bs4(soup.content, 'html5lib')
        headings = content.findAll("div", {"class": "headline 
        relative 
        gray-darkest pb-xs"})
        wpnews = []
        for span in headings:
          wpnews.append(span.text)

        soup2 = requests.get("https://abcnews.go.com/")
        content2 = bs4(soup2.content, 'html5lib')
        headings2 = content2.findAll("div", {"class": 
        "News__Content__Container"})
        for h2 in headings2:
           abcnews.append(h2.text)

        def index(req):
           return render(req, 'news/index.html', {'Washington Post 
           News': wpnews, 'ABC News': abcnews}

А это часть HTML-файла, которая должна показывать заголовки:

<div class="row">
            <div class="col-6">
                    <h3 class="text-centre"> Washington Post News </h3>
                    {% for n in wpnews%}
                    <h5> -  {{n}} </h5>
                    <hr>
                    {% endfor %}
                    <br>
            </div>
            <div class="col-6">
                    <h3 class="text-centre">ABC News</h3>
                    {% for htn in abcnews %}
                    <h5> - {{htn}} </h5>
                    <hr>
                    {% endfor %}
                    <br>
            </div>
        </div>
python
html
django

В файле views.py измените утверждение render на следующее:

return render(req, 'news/index.html', {'wpnews': wpnews, 'abcnews': abcnews}

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

Вернуться на верх