0
@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'] 
        renderer_dict = dict(name=name,body=body) 
        new_comment = render('new_page.pt', renderer_dict, request=request) 
        with open('tutorial:templates/{name}.html','w') as file:
            file.write(new_comment)  
        return HTTPFound(location=request.static_url('tutorial:pages/{pagename}.html',pagename=name)) 

    return {} 

現在、これは、アプリのホームページ用のピラミッドアプリにある呼び出し可能なビューです。ファイルが作成される行(開いている...)が気になります。ファイルの名前を上記のコードのrequest.paramsで定義されている名前と同じにしたいのですが、変数を渡す方法がわかりません(括弧が正しい解決策ではないかと思います)。次に、その名前に.htmlを追加して、完全なファイル名にします。これを行うために使用する構文がわかりません

編集:HTTPFoundの戻り行でこれを正しく行う方法についてのアドバイスも必要です。その新しいファイルにリダイレクトしたいと思います。現在、{pagename} .htmlがありますが、これで十分かどうかは疑問です。これに対する解決策はオープンラインの場合と同じだと思いますが、Imが間違っている場合は修正してください。

4

2 に答える 2

0

私は、標準的なオープンがチュートリアルを理解するとは思わない:templtes と {name} さえも

open を使用する前に request.static_path を使用してください

于 2013-02-07T20:44:17.643 に答える