代码之家  ›  专栏  ›  技术社区  ›  zerowords

允许用户下载模板

  •  0
  • zerowords  · 技术社区  · 6 年前

    我有一个非常简单的html模板,名为my。只需通过 class Wifi 我希望用户能够下载相同的my。html文档作为文件。在里面 class File 我不知道如何访问模板来放置在self中。回答出来写入参数。

    或者,用户可以使用appcfg下载模板。直接从Templates子目录中获取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(??????????????)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   minou    6 年前

    我相信您可以简单地将模板作为文件读取,然后像这样写出来:

    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)
    

    您可能需要修复模板的路径。您可能需要不同的内容类型,因为模板不是真正的脚本。