There is much easier way if you are allowed to use the fact that det(A*B) = det(A)*det(B) (which is a much more basic fact than the one you used about idempotent matrices having a row or column of zeros).

A*A= A

so det(A) = det(A*A) = det(A)*det(A)

The only solutions of x=x*x in any field are x=0 and x=1, so det(A)=0 or 1.