【发布时间】:2018-12-04 00:00:21
【问题描述】:
我有一个存储在 VPS 中的 HTML 模板。我想在 Django 中使用这个模板进行渲染,有没有办法做到这一点? 我知道将模板放在与 Django 相同的项目目录中会更好,但我只是想知道如何渲染不在我们的项目文件夹中并且我们知道它的 url 的模板。
谢谢
【问题讨论】:
我有一个存储在 VPS 中的 HTML 模板。我想在 Django 中使用这个模板进行渲染,有没有办法做到这一点? 我知道将模板放在与 Django 相同的项目目录中会更好,但我只是想知道如何渲染不在我们的项目文件夹中并且我们知道它的 url 的模板。
谢谢
【问题讨论】:
是的,你可以。例如,您可以使用 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 对象,然后我们可以用给定的context 和request 来template.render(..) 它,例如将渲染的文本包装成一个HttpResponse.
【讨论】: