I think it should be:
<code>template_list = self._zapi.template.get({'output': 'extend', 'filter': {'hostid': template_id}})</code>
or
<code>template_list = self._zapi.template.get({'output': 'extend', 'filter': {'host': template_name}})</code>

Also 
<code>template_list = self._zapi.template.get({'output': 'extend', 'hostids': host_id})</code>
should be right, it can get templates by host_id.