在django中保存模型表单

时间:2017-01-28 13:14:50

标签: python django django-forms

这应该是一个注册表单的试运行,但数据库不存储用户名和密码。我得到的错误是"无法创建用户,因为数据没有验证"。

views.py

class UserForm(forms.ModelForm):
    class Meta:
        model=User
        fields=['username','password']

forms.py

class User(models.Model):
    username=models.CharField(max_length=25, primary_key=True,default="")
    password=models.CharField(max_length=15,default="")

    def __str__(self):
        return self.username

models.py

{{1}}

2 个答案:

答案 0 :(得分:2)

应该是if form.is_valid()而不是if form.is_valid

"数据未验证" 基本上意味着您尝试save()无效表单。

答案 1 :(得分:0)

forms.py

class UserForm(forms.ModelForm):
    class Meta:
        model=User
        fields=['username','password']
    def clean_username(self):
        username = self.cleaned_data.get('username')    

    def clean_password(self):
        password = self.cleaned_data.get('password') 

views.py

  def add_model(request):
            if request.method=="POST":
                form=UserForm(request.POST or None)
                if form.is_valid():
                    username = form.cleaned_data['username']
                    password = form.cleaned_data['password']
                    new_user = User()
                    new_user.username = username
                    new_user.password = password
                    new_user.save()

我认为这应该适合您的目的。