I'd recommend option 3: use the jobs system in django-extensions. The relevant extension commands are:
create_jobs – Creates a Django jobs command directory structure for the given app name in the current directory. This is part of the impressive jobs system.
runjob – run a single maintenance job. Part of the jobs system.
runjobs – runs scheduled maintenance jobs. Specify hourly, daily, weekly, monthly. Part of the jobs system.
This lets you manage all the job handling inside of Django, so you don't have to keep messing with the crontab.