Unless they provide some sort of SaaS service where they take care of deployment for you, then you need shell access. There are plenty of Django friendly shared hosts if you are not comfortable deploying your own stack on a dedi/colo/IaaS cloud - see previous threads on this topic.
Personal advice - don't go with dreamhost... we had the misfortune of migrating our legacy customer apps from one of their crashed slices.. and the stupidly random timeouts and stack problems that were intermittent and impossible to debug.. not a fun experience.
Also, Python 2.5 is almost 6 years old now, and Django doesn't officially even support 2.5 any more.. you should consider moving to 2.6.6 as a minimum.
Hope this helps
Cal