Django注册视图的奇怪行为

时间:2016-08-28 14:22:49

标签: django

我有服务器和应用程序。在应用程序中,我将JSON发送到注册视图。

JSON看起来像:

$.ajax({
        dataType: 'json',
        type : "POST",
        url : BASE_URL+"register/",
        data: {username: un, password1: ps1, password2: ps2, email: e},
    });

我的观点:

def register(request):
    form = RegistrationFormUniqueEmail(request.POST)
    if form.is_valid():
        new_user = RegistrationView().register(request, **form.cleaned_data)

其余的代码并不重要,因为在上面这行给我一个错误。

new_user = RegistrationView().register(request, **form.cleaned_data)
TypeError: register() got an unexpected keyword argument 'password2'

它最近在python 2.7上运行,但现在我迁移到python 3.5

你能帮帮我吗?

更新

当我检查时:

 form = RegistrationForm(request.POST)
 if form.is_valid():
    print (form.cleaned_data)
    ...

我得到了很好的词典

{'password2': 'pass', 'email': 'asd@asd.asd', 'username': 'user', 'password1': 'pass'}

1 个答案:

答案 0 :(得分:0)

数据可能未附加到request.POST
我会调查应该是json编码的RegistrationFormUniqueEmail(request.body)。否则将其转换为json for python3。

导入json

data = json.jsonload(request.body)

RegistrationFormUniqueEmail(数据)