Yes. You can do the calculation. But, no, it's not a shortcut.
If you want to obtain your DFT magnitudes fast (e.g. using the O(NlogN) FFT algorithm), then you will need the complex math (or its computational equivalent). This is because the cosine and sine forms of the DFT basis vectors are orthogonal, and you need both to completely be able to represent arbitrary input waveforms. The sine portions of the basis vectors are represented by the imaginary components of an FFT's complex result. So the full complex result of an FFT needs to be computed to end up with enough information for a magnitude or amplitude result.
If a slow DFT computation is acceptable, then you could just compute the cosine components using strictly real arithmetic and then separately compute the sine components also using reals. Then compute the hypotenuse of the real triangle for the amplitude. No complex numbers needed. But this method is O(N^2), which would take a lot longer.
For just magnitude results (computed slowly), N Goertzel filters is another possibility, and may save in trig function calls.