我应该如何在 Django 中显示 BeautifulSoup 解析的结果?
How should I show results of BeautifulSoup parsing in Django?
我正在尝试使用 BeautifulSoup 和 Django 抓取网页。这是我执行此任务的 views.py:
def detail(request, article_id):
article = get_object_or_404(Article, pk=article_id)
html = urllib2.urlopen("...url...")
soup = BeautifulSoup(html)
title = soup.title
return render(request, 'detail.html', {'article': article, 'title':title})
但是当我在 Django 模板文件中使用 {{ title }} 时,它没有显示任何内容。我已经对其进行了测试,它可以在 shell 中运行。我在这个函数中添加了一行:
print soup.title
它会在我每次重新加载页面时打印它,但它不会显示在模板中。
对于其他一些命令,如:find_all("a")或美化方法,内容也显示得很奇怪。谁能告诉我如何在 Django 模板中正确打印 beautifulsoup 的结果?
你打印出来的结果是什么?
你试过用这个吗?
soup.title.string
如果您必须将 html 发送到模板,请尝试:
{% autoescape off %}{{ title }}{% endautoescape %}
更改以下-
title = soup.title
至 -
title = soup.title.text
我正在尝试使用 BeautifulSoup 和 Django 抓取网页。这是我执行此任务的 views.py:
def detail(request, article_id):
article = get_object_or_404(Article, pk=article_id)
html = urllib2.urlopen("...url...")
soup = BeautifulSoup(html)
title = soup.title
return render(request, 'detail.html', {'article': article, 'title':title})
但是当我在 Django 模板文件中使用 {{ title }} 时,它没有显示任何内容。我已经对其进行了测试,它可以在 shell 中运行。我在这个函数中添加了一行:
print soup.title
它会在我每次重新加载页面时打印它,但它不会显示在模板中。
对于其他一些命令,如:find_all("a")或美化方法,内容也显示得很奇怪。谁能告诉我如何在 Django 模板中正确打印 beautifulsoup 的结果?
你打印出来的结果是什么?
你试过用这个吗?
soup.title.string
如果您必须将 html 发送到模板,请尝试:
{% autoescape off %}{{ title }}{% endautoescape %}
更改以下-
title = soup.title
至 -
title = soup.title.text