Your code needs to be refactored, here is the real deal, your ChangePassowrdFrom is missing `request`, it should be as it is below form = grandmas4hire.forms.ChangePasswordForm(request, request.POST)
On Wed, Nov 6, 2024 at 8:20 PM [email protected] <[email protected]> wrote: > Ruby > > Thank you very much. Here is my code... > > > INV = grandmas4hire.models.Invitation > > ... > > def add_url_param(url, param, arg): > > prefix = "&" if "?" in url else "/?" > > > > return url + prefix + f'{param}={str(arg).replace(" ", "+")}' > > > --- > > @django.contrib.auth.decorators.login_required > > def change_password(request): > > user = request.user > > msg = request.GET.get("msg") > > if request.method == "POST": > > form = > grandmas4hire.forms.ChangePasswordForm(request.POST) > if form.is_valid(): > > new_password = form.cleaned_data["new_password"] > > inv = INV.objects.get(user = user) > > inv.user.set_password(new_password) > > inv.user.save() > > > django.contrib.auth.update_session_auth_hash(request, > user) > > url = add_url_param("/change_password", > > "msg", > > "Password+changed.") > > reply = django.shortcuts.redirect(url) > > else: > > reply = django.shortcuts.render(request, > > > "change_password.html", > {"form" : form}) > > else: > > form = grandmas4hire.forms.ChangePasswordForm() > > reply = django.shortcuts.render(request, > > "change_password.html", > > {"form" : form, > > "msg" : msg}) > > > > return reply > > On Tuesday, November 5, 2024 at 5:41:09 PM UTC-6 Ruby wrote: > >> How was it implemented? >> Show a snippet from your code >> See how it was used in my code >> >> form = ChangePasswordForm(request, request.POST) >> if form.is_valid(): >> user = form.save() >> update_session_auth_hash(request, user) >> messages.success( >> request, "Your password has been successfully updated") >> return redirect(request.META.get('HTTP_REFERER')) >> >> On Tue, Nov 5, 2024 at 10:30 PM [email protected] <[email protected]> >> wrote: >> >>> When I change a password, users are logged out. >>> Django recommends keeping users logged in >>> by calling django.contrib.auth.update_session_auth_hash(request, user). >>> >>> This is not working in a Django website of mine. >>> They must log in again!? >>> >>> There are no error messages. Is there any way I can provide >>> more details? >>> >>> Chris >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/django-users/04908d1c-a1e4-41ea-afd8-e227f78af8bcn%40googlegroups.com >>> <https://groups.google.com/d/msgid/django-users/04908d1c-a1e4-41ea-afd8-e227f78af8bcn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/django-users/0c0c2c50-5064-4e9d-a579-f0ddb323c11an%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/0c0c2c50-5064-4e9d-a579-f0ddb323c11an%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/django-users/CAPUD46tCgtE4bK6yrrZ18FuxE4oTsvkda%2BLG2S8Fz14pxrkb%3DA%40mail.gmail.com.

