If $D$ is simply connected, the Riemann mapping theorem and the Schwarz lemma give a nice proof of this (think chain rule). If not, the easiest answer in my mind is a bit dynamical...
If $D$ is bounded then it's hyperbolic as a Riemann Surface. From Montel's Theorem, we know $D$ must be in the Fatou set of $f$. Because it contains a fixed point, the component that $z_0$ is in needs to be fixed. The classification theorem for hyperbolic complex dynamics (see Milnor's Dynamics in One Complex Variable) tells you it needs to be (after dismissing some cases) either attracting ($|f(z_0)|<1$), identity ($|f(z_0)|=1$), or irrational rotation ($|f(z_0)|=1$).
Edit: Without assuming some of the hammers from complex dynamics, this can be done (with some effort) using the fact that $D$ is hyperbolic as a Riemann surface. First, show (or know from Pick's theorem) that a holomorphic function between hyperbolic Riemann surfaces doesn't increase Poincare distance. Then write down the definition of the derivative at $z_0$. Finally, show that Poincare distance and the standard metric give the same answer for derivatives at fixed points.
(Essentially this is a method to reprove classification in the slightly simpler case where there is a fixed point. Also it would probably make your life easier to assume that $z_0 =0$.)