With a valid URL, a past donor can upgrade to a supporter by donating the rest of the amount. Django validates the data and, if it passes, puts it in the form. The JavaScript does most of the work from there.