<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def explode_services_from_templates(self, hosts, service_template):
 """ Explodes services from templates. All hosts holding the specified templates are bound with the service. :param hosts: The hosts container. :type hosts: alignak.objects.host.Hosts :param service_template: The service to explode. :type service_template: alignak.objects.service.Service :return: None """

        hname = getattr(service_template, "host_name", None)
        if not hname:
            logger.debug("Service template %s is declared without an host_name",
                         service_template.get_name())
            return

        logger.debug("Explode services %s for the host: %s", service_template.get_name(), hname)

        # Now really create the services
        if is_complex_expr(hname):
            hnames = self.evaluate_hostgroup_expression(
                hname.strip(), hosts, hosts.templates, look_in='templates')
            for name in hnames:
                self._local_create_service(hosts, name, service_template)
        else:
            hnames = [n.strip() for n in hname.split(',') if n.strip()]
            for hname in hnames:
                for name in hosts.find_hosts_that_use_template(hname):
                    self._local_create_service(hosts, name, service_template)