最終的には、ユーザーがファイルをアップロードするときに、ファイルを解析してからsave_url
、その解析の出力を表示する新しいURLを(を使用して)作成するようにしたいと思います。
フォームをレンダリングするedit.ptは次のとおりです。
<form action="/add_page" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<label for="stl">Stl</label>
<input name="stl" type="file" value="" />
<input type="submit" value="submit"/>
</form>
これがのadd_page
セクションですviews.py
:
@view_config(route_name='add_page', renderer='templates/edit.pt')
def add_page(request):
input_file=request.POST['stl'].file
i1, i2 = itertools.tee(input_file)
vertices = [map(float, line.split()[1:4])
for line in i1
if line.lstrip().startswith('vertex')]
normals = [map(float, line.split()[2:5])
for line in i2
if line.lstrip().startswith('facet')]
ordering=[]
N=len(normals)
...(parsing data)...
return data
if data is None:
displayNotification['please upload file']
if 'stl' in request.params:
name=request.params('name')
page=Page(name,data)
return HTTPFound(location=request.route_url('view_page',pagename=name))
save_url=request.route_url('add_page',pagename=name)
page=Page('','')
return dict(page=page,save_url=save_url)
http://localhost:6543/add_page/new
そして、 (新しいURLで新しいページを追加するために)に移動しようとすると、次のエラーが発生します。
KeyError: "No key 'stl': Not a form request".
このエラーは、の下の行で発生しますdef add_page(request):
。このチュートリアルから抜け出すようにフォーマットしています。