There's no reason why you can't construct a Form class that respects the parameters of the HTML form. There's not really any magic to it. Django offers tools to generate the HTML pragmatically, but you don't have to use it.
You can leverage all the power of Django's form validation--just make sure the Form class fields align with the field names in your HTML and bind it to the POST data. If your Form's parameters change, you'll have to update the markup.