The problem is that you don't use manipulator.do_html2python(new_data) which transforms strings to appropriate values.
In your case, you should write something like: new_user_data['date_joined'] = datetime.now() Aidas Bendoraitis [aka Archatas] On 7/17/06, patrickk <[EMAIL PROTECTED]> wrote: > > you´re right - I only sent half of the code - will send a full > example once I´m finished. > > I tried to use some of your code: > now = datetime.now() > new_user_data['date_joined_date'] = now.strftime("%Y-%m-%d") > new_user_data['date_joined_time'] = now.strftime("%H:%M:%S") > > but got the error: > combine() argument 1 must be datetime.date, not str > > any ideas? > > > Am 17.07.2006 um 16:42 schrieb Aidas Bendoraitis: > > > > > It seems that you are missing the escaping/converting of the got(ten) > > values. Don't you need something like > > manipulator.do_html2python(new_data) before saving the user? I think > > there is a risk of SQL injection[1] in your example. > > > > [1] http://en.wikipedia.org/wiki/Sql_injection > > > > Aidas Bendoraitis [aka Archatas] > > > > > > > > On 7/17/06, patrickk <[EMAIL PROTECTED]> wrote: > >> > >> here´s the registration I´ve come up with. I´m using a Custom > >> Manipulator, because I´ve added some fields to the User Model and > >> need specific validation. I´ve also added a confirmation mail: > >> > >> def registration(request): > >> > >> manipulator = RegistrationManipulator() > >> > >> if request.POST: > >> new_data = request.POST.copy() > >> errors = manipulator.get_validation_errors(new_data) > >> if not errors: > >> > >> ### Send MAIL > >> date= new_data['date_joined_date'] + " " + > >> new_data['date_joined_time'] > >> confirmhash = set_hash(new_data['password'], > >> date) > >> link = "http://mysite.com/confirm/?" + > >> confirmhash > >> content = "something in here" + link > >> toMail = new_data['email'] > >> send_mail('[mysite.com] Registration: > >> confirm', content, '[EMAIL PROTECTED]', [toMail], fail_silently=False) > >> > >> ### SAVE USER > >> pw_hash = set_password(new_data['password']) > >> user = User.objects.create_user(new_data > >> ['username'], new_data['email'], pw_hash) > >> user.save() > >> return HttpResponseRedirect("/") > >> > >> else: > >> errors = new_data = {} > >> > >> ... > >> > >> > >> Am 17.07.2006 um 13:35 schrieb Aidas Bendoraitis: > >> > >>> > >>> A few weeks ago I browsed through Django core code to get a basic > >>> understanding how to create a user registration or any other form > >>> using generic manipulators and how to fill in some values (such as > >>> last_login) behind the scene. > >>> > >>> I was following the guidelines about manipulators at: > >>> http://www.djangoproject.com/documentation/forms/ > >>> > >>> To create a user you should do something like that: > >>> > >>> def add_profile(request): > >>> from datetime import datetime > >>> user_manipulator = User.AddManipulator() > >>> > >>> if request.POST: > >>> new_user_data = request.POST.copy() > >>> > >>> # fields that have to be left unmodified > >>> #new_user_data['username'] = user.username > >>> new_user_data['password'] = new_password_data > >>> ['new_password'] > >>> now = datetime.now() > >>> new_user_data['date_joined_date'] = now.strftime("%Y-%m-%d") > >>> new_user_data['date_joined_time'] = now.strftime("%H:%M:%S") > >>> new_user_data['last_login_date'] = "1900-01-01" > >>> new_user_data['last_login_time'] = "00:00:00" > >>> new_user_data['is_active'] = 'on' > >>> new_user_data['is_superuser'] = 'off' > >>> new_user_data['is_staff'] = 'off' > >>> user_errors = user_manipulator.get_validation_errors > >>> (new_user_data) > >>> if not user_errors: > >>> user_manipulator.do_html2python(new_user_data) > >>> user = user_manipulator.save(new_user_data) > >>> #user = User.objects.create_user( > >>> # new_user_data['username'], > >>> # new_user_data['email'], > >>> # new_user_data['password'] > >>> #) > >>> user.set_password(new_user_data['password']) > >>> user.save() > >>> ... > >>> > >>> I hope this will help you. And if somebody has a better solution how > >>> to manage filling fields with values automagically, please share > >>> that > >>> wwith everybody. > >>> > >>> Good luck! > >>> Aidas Bendoraitis [aka Archatas] > >>> > >>> > >>> On 7/16/06, patrickk <[EMAIL PROTECTED]> wrote: > >>>> > >>>> nice. didn´t see that. > >>>> > >>>> Am 15.07.2006 um 18:29 schrieb [EMAIL PROTECTED]: > >>>> > >>>>> > >>>>> There is: > >>>>> http://code.djangoproject.com/wiki/FormField > >>>>> > >>>>> Chris > >>>>> > >>>>> > >>>>>> > >>>> > >>>> > >>>>> > >>>> > >>> > >>>> > >> > >> > >>> > >> > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users -~----------~----~----~----~------~----~------~--~---