模态中的 Django 形式:动态重定向和处理错误

Django form in a modal: redirect and handle errors dynamically

本文关键字:重定向 处理 错误 动态 Django 形式 模态      更新时间:2023-09-26

我正在尝试使用 Django 在模态窗口中实现登录表单。基本上,我正在遵循本教程。它运行良好,但我想在提交和验证表单后将用户重定向到他/她的个人页面。根据前面的指南,我认为我必须更改突出显示部分中的代码:

$(form).submit(function (e) {
        e.preventDefault();
        $.ajax({
            type: $(this).attr('method'),
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function (xhr, ajaxOptions, thrownError) {
                if ($(xhr).find('.has-error').length > 0) {
                    $(modal).html(xhr);
                    formAjaxSubmit(form, modal);
                } else {
                    $(modal).modal('hide');
                    ###########################
                    REDIRECT HERE TO ACTION URL
                    ###########################
                }
            },
            error: function (xhr, ajaxOptions, thrownError) {
                // handle response errors here
            }
        });
    });

但是,我不知道这是否是正确的解决方案,也不知道在这种情况下这是否可行。

当您说个人页面时,这实际上应该是一个隐含的东西,即显示当前登录仪表板的用户 site.com/dashboard。如果您想重定向下一个链接(即用户尝试访问页面需要登录)或类似内容,您可以随时在响应 xhr 请求时将下一个链接传回。