Even if we handwave all the science needed to build batteries big enough to power cities for days, I don't think it's realistic to handwave the science needed to power a city for weeks. We don't even have enough oil for that.
"Power when it is inconvenient" is pretty much the basis for a modern society.
Heavy clouds and zero wind, for weeks? That's a once-a-century freak event. Just build gas peaker plants if you are worried about it. You could even add carbon capture, but constructing it might emit more than it will ever capture...
A common battery for grid level storage is pumped hydro - that is, use the peak power during the day(s) to push water from the bottom of an elevation to the top, and hold it there - bonus points if it captures water delivered from other solar processes (evaporation -> rain)
The overwhelming majority of generation and storage is best deployed at the point of use.
Grid scale anything, is a massive inefficiency.
The only reason grid and city scale is so prevalent in public discourse is because this is the only electricity the utility is paid for, and they are very actively impeding any other solution.
In the US, there is a very large inventory of flat roof industrial buildings, in the industrial parks that are using huge amounts of electricity. Covering all of those roofs with solar (especially here in the west US) would prevent a tremendous amount of grid scale generation, and implementing storage there would eliminate a large part of the transmission line upgrades the utilities are calling for.
The biggest problem in the US isn't technical, it's the governments desire to primarily support the solutions that are best at serving utility shareholder returns, instead of the technically superior solutions.