I found a cleaner solution after some digging. In db.py, after creating the auth object, include the line:
auth.settings.register_fields = ['id', 'first_name', 'last_name', 'email', 'password']
or if when you created the auth object you passed in username=True, include the line:
auth.settings.register_fields = ['id', 'first_name', 'last_name', 'email', 'username', 'password']
This list is by default None, which actually means grab everything from the auth_user database fields. By setting it to a fixed list, you can control which of the auth_user fields are actually used in the registration form.
On Thursday, March 21, 2013 4:34:47 PM UTC-4, David Ripplinger wrote:
I recently found out how to add an additional field to the auth_user table, but then I found that the registration page for a new user has a spot in the form to input a value for the extra field. In many cases, this is desired, but I want this particular field to not appear in the registration form. It is set to default to None, so the database doesn't complain about not getting a value for it, but I need to remove the field's input line from the form. Do I just need to write a custom form and a custom handler for the post, or is there an easy way to do this?
Thanks.