[Python] How can I change the success url of allauth AddEmailForm?

Discussão em 'Python' iniciado por Stack, Março 15, 2025.

  1. Stack

    Stack Membro Participativo

    I have a UserDetail page that includes several forms.

    from allauth.account.forms import ChangePasswordForm, AddEmailForm


    User = get_user_model()


    class UserDetailView(LoginRequiredMixin, DetailView):
    model = User
    slug_field = "username"
    slug_url_kwarg = "username"

    def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    # context["form_info_username"] =
    context["form_add_mail"] = AddEmailForm(user=self.request.user)
    context["form_change_password"] = ChangePasswordForm(user=self.request.user)
    return context


    When I add a new email:

    <form method="post" action="{% url 'account_email' %}" class="add_email mt-2">
    {% csrf_token %}
    {{ form_add_mail|crispy }}

    <div class="flex justify-end mt-2">
    <button type="submit"
    name="action_add"
    class="bg-green-600 hover:bg-green-800 dark:bg-green-600 dark:hover:bg-green-800 font-semibold text-white rounded-sm p-2 text-xs sm:text-sm sm:px-8 ">
    {% translate "Add E-mail" %}
    </button>
    </div>
    </form>


    The form/view({% url 'account_email' %}) redirects to http://localhost:8000/de/accounts/email/, but I would prefer it to redirect to the same page where I submitted instead.

    Continue reading...

Compartilhe esta Página