Django和Ajax问题验证数据

时间:2017-09-04 15:30:51

标签: python ajax django

我在Django项目中的表单使用POST方法(使用AJAX)发送一些数据,如名称

在我的views.py中,我尝试验证它存储在我的数据库中。

views.py

def create(request):

    name = request.POST['name']


    if len(name) == 1 and len(surname) == 1 and len(message) == 1:
        Create.objects.create(
            name=name,
        )

        return redirect('post:table')

    else:
        return redirect('index:index')
else:
    return redirect('index:index')

问题: 重定向无法正常工作。为什么?

1#示例输入: name = a = 输出: 好的 - >存储在DB

2#示例输入: name = aaa

输出: 错误的数据并且不存储在DB中 - >但返回重定向不起作用。

提前致谢!

1 个答案:

答案 0 :(得分:0)

因为您正在使用Ajax请求。这意味着您明确地告诉浏览器在不更改页面的情况下请求信息。您需要在Ajax成功方法中管理重定向。

在任何情况下,您都不应该重定向验证失败,您应该保持在同一页面上并允许用户更正数据并重新提交。