Python 如何在Django模板中生成外部网站的HTML?

Python 如何在Django模板中生成外部网站的HTML?,python,django,urllib,django-cms,Python,Django,Urllib,Django Cms,我想在外部站点上获取我的一个页面的内容,HTML和所有内容。如果在.NET中,我可以使用WebClient检索页面,将其保存到变量中,并在Razor中发出它。PHP可以使用cURL 如何在Django模板中实现这一点?我需要创建一个使用urllib的插件吗 如果重要的话,我正在使用DjangoCMS。我搜索并尝试了Django http模块 我已经查看了http的助手Django模块,没有看到任何内容。我不确定将urllib或请求放在哪里,因为我不知道我要做的是构建插件还是定制模板标签 我希望知

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

如何在Django模板中实现这一点?我需要创建一个使用urllib的插件吗

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

我已经查看了http的助手Django模块,没有看到任何内容。我不确定将
urllib
请求放在哪里,因为我不知道我要做的是构建插件还是定制模板标签


我希望知道如何使用Python和Django的模板语言或仅使用模板语言来实现这一点,所以我真的不想在JavaScript、object等中实现这一点。

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

或者,如果希望简单标记具有全局可访问性,则可以定义该标记

比如说

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 %}
...

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

或者,如果希望简单标记具有全局可访问性,则可以定义该标记

比如说

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 %}
...

对于初学者,您可以使用requests模块在views.py中编写函数,只需几行代码。@Stack这是否意味着我需要构建插件?检查此答案,它使用的是urllib而不是requests。对于初学者,您可以使用requests模块在views.py中编写函数,只有几行代码。@Stack这是否意味着我需要构建一个插件?检查这个答案,它使用的是urllib而不是请求