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

时间:2013-02-05 17:28:49

标签: 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 = request.params['body']

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

    return {} 

而不是这个,我希望表单提交在服务器文件系统上创建一个全新的html页面。这个html页面应该是我提供的模板格式,以及在提交时从主页表单传递的值。有没有办法做到这一点?我一直在查看http://docs.pylonsproject.org并找不到办法。

1 个答案:

答案 0 :(得分:1)

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

来自this帖子的示例

renderer_dict = {} # dictionary of values to pass to the renderer
new_comment = render('new_comment.pt', renderer_dict, request)

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