Вот что вы можете попробовать, вместо использования ppath везде, вы можете переименовать ppath в вашей функции def в path.
<b>Create model at path</b>: ${ppath}
<%def name="direct_load_model_form(method, path)">
${h.tags.form(method, multipart=True, method='post', hidden_fields=[('ppath', path)])}
<b>Node Name: </b>${h.tags.text('node_name')}<BR>
<b>Parameters: </b>${h.tags.file('params_file', size=100)}<BR>
${h.tags.submit('submit', 'Create')}
${h.tags.end_form()}
</%def>
${self.direct_load_model_form(process_route, ppath)}
Возможно, это проблема, но поскольку mako создает код на python, возможно, что где-то параметр, отправленный в вашу функцию, переопределяется.Тем не менее, неясно, какую переменную он будет использовать, поскольку defs может обращаться к глобальным переменным, но вы сбрасываете его при вызове def.