我有一个名为my.html的非常简单的html模板,只需通过下面的class Wifi
访问,我想让用户下载同一个my.html文档作为文件。在class File
我不知道如何访问模板以放置在self.response.out.write参数中。
或者,有没有办法让用户直接从Templates子目录中使用appcfg.py或类似内容下载模板?
class Wifi(BaseHandler):
def get(self):
template_values = { }
template = JINJA_ENVIRONMENT.get_template('my.html')
self.response.out.write(template.render( template_values))
class File(webapp.RequestHandler):
def get(self, upload_type):
self.response.headers['Content-Type'] = 'text/script'
self.response.headers['Content-Disposition'] = "attachment; filename=my.html"
self.response.out.write(??????????????)
答案 0 :(得分:1)
我相信您可以简单地将模板作为文件读取,然后将其写出来:
class File(webapp.RequestHandler):
def get(self):
with open("templates/my.html", "r") as f:
data = f.read()
self.response.headers['Content-Type'] = 'text/script'
self.response.headers['Content-Disposition'] = "attachment; filename=my.html"
self.response.write(data)
您可能需要修复模板的路径。您可能需要不同的内容类型,因为模板实际上不是一个脚本。