you can try using somethig like:
new_dict.setdefault(site, []).append(template)

instead of .update call