从Django的外部URL加载模板

时间:2018-06-25 11:58:28

标签: django django-templates

我有一个存储在VPS中的HTML模板。我想使用此模板在Django中进行渲染,有没有办法做到这一点? 我知道最好将模板与Django放在同一项目目录中,但是我很好奇如何知道如何渲染不在我们项目文件夹中的模板,并且知道其URL。

谢谢

1 个答案:

答案 0 :(得分:3)

是的,可以。例如,您可以使用 requests 库获取模板代码,然后构造模板:

import requests
from django.template import Template

def some_view(request):
    import requests
    url = 'http://my.url.com/templates/some_template.html'

    response = requests.get(url)
    assert response.status_code == 200

    template = Template(response.content)

    context = {
        'some_element': 42,
    }
    return HttpResponse(template.render(context, request))

因此,我们首先在这里获取模板数据,然后构造一个Template对象,然后可以使用给定的template.render(..)contextrequest,然后例如,将渲染的文本inot包装为HttpResponse