A wearable, self-contained drug infusion device is disclosed that is capable of achieving the precise flow rate control needed for dose-critical drugs such as insulin. In preferred embodiments of the device, at least two flow channels are utilized in conjunction with a series of valves for providing a user with selectable, constant flow rate control. The device can be made with small dimensions so that it can be worn by the user with a minimum of discomfort and inconvenience. In addition, the simple mechanical nature of the device provides the user with close control over the flow rate, which is required for safe and effective delivery of insulin and other drugs. Also, the absence of electronic components allows the device to be manufactured inexpensively. The device is provided with a first channel that is long and narrow, functioning as a flow restrictor. The first channel is preferably provided in a serpentine pattern. A second channel is also provided that has a larger cross section so that flow is not restricted. A series of valves are used to force the flow of fluid through a selectable portion of the serpentine portion of the first channel before entering the remainder of the second channel and flowing to the delivery cannula. In one embodiment of the device, a needle port is provided in fluid communication with the delivery cannula for delivering bolus injections. In another embodiment, a bolus button is provided for delivering bolus injections. A flow restrictor is preferably included in the bolus button to limit the rate at which the bolus button refills.