App engine wasn't really designed to work well with Cloud SQL as it's not a dynamically scalable data store, it is expected that you use google datastore (or firestore nowadays) - which isn't ideal for django as it is non-relational.
To remedy this App Engine has been made so that it can to the Cloud SQL instances through a proxy. But documentation on this is poor and setting up the right environment to use this proxy feels arbitrary. There are a several magic env vars and similar configuration options that need to be put in to enable access.
It's been well over a year since I last did this but most times it's involved following multiple guides to eventually get to the truth on it. The Python 3 app engine guide when it was first released completely ignored these steps and so was essentially broken when it came to DB setup (I get the feeling it still is).
https://cloud.google.com/sql/docs/mysql/connect-app-engine#connecting_to definitely hints at some of the issues. The Python 2 guide for Django did have some guidance on it as well if you can find that. But the key thing is that, as App Engine IPs are arbitrary, you cannot connect directly to the database but need to tell App Engine to load up a proxy and then connect to that instead.
Sorry I can't help much more - I wish I'd written down the steps I took last I did this, but it's been too long for me to remember it well.