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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---