如何在 Django 模板中发出外部网站的 HTML?

How do I emit the HTML of an external website in a Django template?

我想获取外部站点上我的一个页面的内容,HTML 和所有内容。如果是在 .NET 中,我可以使用 WebClient 检索页面,将其保存到变量中,然后在 Razor 中发出。 PHP 可以使用 cURL。

如何在 Django 模板中执行此操作?我需要创建一个使用 urllib 的插件吗?

如果重要的话,我正在使用 DjangoCMS。我搜索并尝试了 Django http 模块。

我查看了 http 的帮助程序 Django 模块,但没有看到任何内容。我不确定将 urllibrequests 放在哪里,因为我不知道我正在尝试做的事情是否需要我构建插件或自定义模板标签。

我希望知道如何使用 Python 和 Django 的模板语言或仅使用模板语言,所以我真的不想在 JavaScript、[=13 中这样做=]、对象等

您可以使用 reqeusts 库,并将函数定义为视图的一部分。

或者,如果您希望全局可访问,您可以定义一个简单的标签。

比如

import requests
from django import template

register = template.Library()

@register.simple_tag
def get_site_source(url):
    res = requests.get(url)
    return res.text

并在模板中:

...
{% get_site_source url %}
...