我有服务器和应用程序。在应用程序中,我将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'}
答案 0 :(得分:0)
数据可能未附加到request.POST
我会调查应该是json编码的RegistrationFormUniqueEmail(request.body)。否则将其转换为json for python3。
导入json
data = json.jsonload(request.body)
RegistrationFormUniqueEmail(数据)