Python 如何让用户从模板在文件系统上创建html文件?

Python 如何让用户从模板在文件系统上创建html文件?,python,database,filesystems,pyramid,Python,Database,Filesystems,Pyramid,现在,我的金字塔应用程序的主页有一个可调用的视图,允许用户向数据库添加新的“页面”。这些页面可以在单独的url上查看 @view_config(route_name='home_page', renderer='templates/edit.pt') def home_page(request): if 'form.submitted' in request.params: name= request.params['name'] body = reque

现在,我的金字塔应用程序的主页有一个可调用的视图,允许用户向数据库添加新的“页面”。这些页面可以在单独的url上查看

@view_config(route_name='home_page', renderer='templates/edit.pt')
def home_page(request):
    if 'form.submitted' in request.params:
        name= request.params['name']
        body = request.params['body']

        page=Page(name,data)
        new= DBSession.add(page)
        return HTTPFound(location=request.route_url('view_page',pagename=name))

    return {} 
相反,我希望表单提交在服务器文件系统上创建一个全新的html页面。此html页面的格式应为我提供的模板格式,其中包含提交时从主页表单传递的值。有办法做到这一点吗?我一直在看,找不到办法

我相信您可以使用将模板/上下文呈现为字符串

来自post的示例


由于您有一个html模板,并且您希望为用户自定义它,因此您应该能够使用正确的上下文运行它,并将其保存到文件系统中。

这样做很有意义。一旦新的注释(我假设是新的html文件)被呈现,我将如何将其保存到文件系统并告诉它去哪里?@BigBoy1337
new\u comment
是一个字符串,您可以使用python文件api将其写入文件,基本上有大量关于如何使用它的示例
f=open('/path/to/file/,'w');f、 撰写(新评论);f、 close()
cool。这是有道理的。请求值(第二行的最后一部分)在哪里定义?或者我真的只是把“request”放在那里吗?由此看来:似乎只是传入request=request就可以了
renderer_dict = {} # dictionary of values to pass to the renderer
new_comment = render('new_comment.pt', renderer_dict, request)