Hi,

If the user is logged in, instead of

user = User.objects.get(username=nome)

you can use

user = request.user

See:
http://docs.djangoproject.com/en/dev/topics/auth/#authentication-in-web-requests

Nuno



2010/9/17 Giovanna Ronzé <ovelh...@gmail.com>:
> Dado que um usuário está logado e quer mudar sua senha, como eu faço
> para o django mudar a senha daquele user sem que seja preciso que ele
> preencha esse campo (do nick)?
>
> Bem, para resolver esse problema, primeiro eu fiz de uma forma que
> necessitava do user dizer o nick.
> Pesquisando, eu vi que tinha uma classe PasswordChangeForm e tentei
> usar. Olha, se alguém me ensinar como se usa de fato (tanto no
> urls.py, no html e no views.py se possível ^.^) tudo bem. Mas eu
> realmente não consegui aplicar essa classe.
>
> Diante disso, voltei para ideia inicial de construir minha própria
> função. O problema voltou a ser o tal do campo user. Já que o usuário
> está logado, como eu 'pego' seu campo de username pelo views.py?
>
> Aí está a tentativa dessa função e os trechos de código relativos:
>
> [views.py]
>
> @login_required
> def mudar_senha (request):
>        return render_to_response('matematica/mudar_senha.html')
>
> @login_required
> def mudar_senha_dados (request):
>        erro = False
>        nome = request.POST['username']
>        user = User.objects.get(username=nome)
>
>        if request.POST['password'] == '':
>                erro = True
>                return render_to_response('matematica/mudar_senha.html', 
> {'erro':
> erro})
>        else:
>                user.set_password(request.POST['new_password'])
>                user.save()
>                return HttpResponseRedirect('/')
>
> [mudar_senha.html]
>
>                <FORM class = "caixa" action="/mudar_senha_dados/" 
> method="post">
>
>                        <LABEL>Nova senha <BR>
>                                <INPUT name="new_password" 
> type="password"></LABEL>
>                                        {{ form.new_password }}
>                        <BR>
>
>
>                        <INPUT type="submit" value="Trocar senha">
>                        </FORM>
>
> [urls.py]
>
>        (r'^mudar_senha/', 'projeto.matematica.views.mudar_senha'),
>        (r'^mudar_senha_dados/',
> 'projeto.matematica.views.mudar_senha_dados'),
>
> Bem. Desde já agradeço a atenção.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to django-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to