You should not regex check your passwords at all. Just check !="" and maybe check the length
There is no reason why you should limit symbols for passwords.
This times 1000. Why would you regex check your password? Check for empty string and length and be done with it.
You are right. Django default auth backend handles this perfectly, but we wanted that functionality of login + signup in the same form, and that signup autofill in case login fail, so made our custom auth views and screw up some things (like username and password validation and going back to previous page after login)