One:
You can change the default behavior of the widget so it is hidden. The
email address will come back in the post data (this means you don't
mind the email address in the raw html). This also assumes you are
using modelforms.
Two:
Alter the POST data upon return so you add the email address to it.
Three:
Create the model first (or retrieve the existing model) and do this
instead: form = students.forms.StudentForm(request.POST,
instance=students_model)
Four:
Again, assuming you are using model forms, change the email address
field to (blank=True, null=True). Once you save the modelform and a
model is returned, you can then save the email address directly to the
field, eg:
model = form.save(commit=False)
model.email = email
model.save()
(it might be you don't have to have null=True if you always do commit
= False, I'm not 100% certain)
I think any of those should work as a workaround for your problem.