我刚开始学习Django, 我确定我之前读过或听说过一种方法可以实现这个功能,但我无法找到相关信息。
与其将模板渲染输出发送到浏览器,我想创建一个HTML文件,然后可直接提供服务,而不需要每次都经过渲染过程。我正在开发一个系统,该系统与我们主要网站的服务器分开,我需要定期对我的数据进行快照,并向用户提供,同时不会让他们访问开发系统。
我的直觉告诉我应该可以通过某种方式将响应重定向到文件中,但我在文档或其他帖子中都没有找到相关内容。
我刚开始学习Django, 我确定我之前读过或听说过一种方法可以实现这个功能,但我无法找到相关信息。
与其将模板渲染输出发送到浏览器,我想创建一个HTML文件,然后可直接提供服务,而不需要每次都经过渲染过程。我正在开发一个系统,该系统与我们主要网站的服务器分开,我需要定期对我的数据进行快照,并向用户提供,同时不会让他们访问开发系统。
我的直觉告诉我应该可以通过某种方式将响应重定向到文件中,但我在文档或其他帖子中都没有找到相关内容。
from django.shortcuts import render
from django.template.loader import render_to_string
def my_view(request):
as_file = request.GET.get('as_file')
context = {'some_key': 'some_value'}
if as_file:
content = render_to_string('your-template.html', context)
with open('path/to/your-template-static.html', 'w') as static_file:
static_file.write(content)
return render('your-template.html', context)
open('path/to/your-template-static.html', 'w')
改为
open('path/to/your-template-static.html', 'w', encoding="UTF-8")
或者任何你想要的其他编码方式。 - elano7