edit: I guess I'm assuming too much...the OP is assuming you have Django app already online and running, and this process moves over the asset files?
https://github.com/antonagestam/collectfast
The problem is collectstatic will use modified date. When sending to S3 this means the entire static pipeline is uploaded each time. Packages like collectfast use the hash to look for difference and only uploads those files. Works reasonably well. We have had a few issues along the way that we have had to work through but its a start.
On our deployments we wrap up all the static pages, they get to S3 which goes to cloudfront. The link for cloudfront is generated on the fly and then injected back into wherever that asset was called.
This tutorial gets you a pretty good start and doing just that.
That said, let me ask the first idiot-question: is this a precursor to a more complicated stack? Because what's the use-case for setting up Django with an asset-pipeline to S3? I mean, what is the Django instance itself running on? (as I imagine setting up Django on EC@ is generally the harder thing to do)