Question: The voltage generated in the transformer must be due to the change in the flux in the coils, but if the voltage is DC, why is no voltage induced?

Of course, we know that voltage is created by the derivative of flux, but what does it mean?

Answer: 
The reason we cannot use a transformer at DC is that a DC voltage would cause a linearly increasing flux in the core: \$\Phi\sim\frac{\mathrm d V}{\mathrm d t}\$. In reality, the core will [saturate](https://en.wikipedia.org/wiki/Saturation_(magnetic)) quickly, and the flux stops increasing. Then, also the current in the primary coil reaches a limit by the DC resistance of the winding.
It seems like you might not understand a basic property of transformers, related to the term `Flux`. Flux is `change`. An AC voltage is one that changes. A DC voltage is one that stays steady (does not change).

If you apply a changing AC voltage to one winding, the flux (change) in the voltage allows the transformer to propagate energy into the other winding, and you get an output AC voltage. If you apply a steady DC voltage to one winding, the lack of flux prevents the transformer from propagating energy into the other winding, and you do not get an output voltage.