最终,我想要它,以便当用户上传文件时,它会解析文件,然后创建一个新的 url(使用save_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
(添加带有新网址的新页面)时,我收到此错误:
KeyError: "No key 'stl': Not a form request".
此错误发生在def add_page(request):
. 我正在格式化它,以便脱离本教程。