这是定义 jsdata 的主页的可调用视图:
@view_config(route_name='home_page', renderer='templates/edit.pt')
def home_page(request):
if 'form.submitted' in request.params:
name= request.params['name']
input_file=request.POST['stl'].filename
vertices, normals = [],[]
for line in input_file:
....
ordering=[]
...parsing data...
data=[vertices,ordering]
jsdata=json.dumps(data)
renderer_dict = dict(name=name,data=jsdata)
...
html_string = render('tutorial:templates/view.pt', renderer_dict, request=request)
with open(filename,'w') as file:
file.write(html_string)
return HTTPFound(location=request.static_url('tutorial:pages/%(pagename)s.html')% {'pagename':name})
return {}
我也在该文件(views.py)中导入了 json。在这里,它正在 view.pt 模板上呈现。
<script>
var data = ${structure:jsdata};
</script>
NameError 指向第二行的 jsdata 部分。为什么会这样?名称错误不是意味着它是未定义的吗?为什么说jsdata未定义?它应该作为关键字传递给渲染函数吗?
另外:我知道该 jsdata 定义下方可能存在错误。我已经包含了该部分,以防它帮助您了解我想用 jsdata 做什么