【发布时间】:2018-04-05 01:45:14
【问题描述】:
这是视图
class RegisterView(View):
def get(self,request):
register_form = RegisterForm()
return render(request,'register.html',{'register_form':register_form})
def post(self,request):
register_form = RegisterForm(request.POST)
if register_form.is_valid():
user_name = request.POST.get("email", '')
pass_word = request.POST.get("password", '')
user_profile = UserProfile
user_profile.username = user_name
user_profile.email = user_name
user_profile.password = make_password(pass_word)
user_profile.save() #error
send_register_email(user_name,"register")
我想把user_profile保存到mysql,但是user_profile.save()有错误, TypeError: save() missing 1 required positional argument: 'self',我该如何解决?
【问题讨论】:
-
你可以试试
user_profile = UserProfile()而不是user_profile = UserProfile并检查它的输出。 -
不相关,但使用表单来清理用户输入而不使用清理后的数据是自找麻烦。使用表单的
.cleaned_data检索电子邮件和密码,而不是从request.POST获取它们。或者改用ModelForm...