需求:
有的页面会被频繁访问,并且页面的数据短时间变化不会太大,可以使用页面静态化技术
用户访问的是页面静态化生成的静态文件中的html文件,好处是可以减轻服务器的压力
def generate_static_index_html(request):
"""
生成静态的主页html文件
"""
# 渲染模板
context = {
'name': 'django',
'my_list':[1,2,3,4,5],
'my_dict':{
'name':'python',
'age':22,
'gender':'man'
}
}
# 从templates 中加载index.html 文件
template = loader.get_template('index.html')
# 将context内容渲染到模板中
html_text = template.render(context)
# 生产静态文件的路径 ‘front_end_pc’ 为项目目录下新建的文件夹 存储静态文件
GENERATED_STATIC_HTML_FILES_DIR = os.path.join(os.path.abspath(BASE_DIR), 'front_end_pc')
file_path = os.path.join(GENERATED_STATIC_HTML_FILES_DIR, 'index.html')
# 生产静态文件
with open(file_path, 'w') as f:
f.write(html_text)
return HttpResponse('生成静态页面成功!!')
目前已经实现可以生产静态文件,后续再加一个定时器,定时生成该静态页面,减轻服务器的压力