Py学习  »  Django

Django配置文件窗体未命中数据库

Karthik J • 6 年前 • 2131 次点击  

视图.py:

@user_passes_test(lambda u: u.is_anonymous)
def signup(request):
 if request.method=='POST':
    user_form = UserForm(data=request.POST)
    profile_form = ProfileForm(data=request.POST)
    if user_form.is_valid() and profile_form.is_valid():
        user = user_form.save()
        user.set_password(user.password)
        user.save()
        profile = profile_form.save(commit=False)
        profile.user=user
        response = {'status':'success','message':'Registered Successfully'}
        return JsonResponse(response,safe=False)

    elif user_form.errors:
        ress = {'status':'Failed','message':'Username already Exists'}
        return JsonResponse(ress,safe=False)
    elif profile_form.errors:
        resss = {'status':'Failed','message':'mobile number already Exists'}
        return JsonResponse(resss,safe=False)

forms.py格式:

class UserForm(forms.ModelForm):
    username=forms.CharField(widget=forms.PasswordInput)
    password=forms.CharField(widget=forms.PasswordInput)
    class Meta():
       model=User
       fields=('username','password')

class ProfileForm(forms.ModelForm):
    class Meta:
       model=Profile
       widgets = {
        'address_line_1': forms.TextInput(attrs={'placeholder': 'Door No,Building'}),
        'address_line_2': forms.TextInput(attrs={'placeholder': 'Area,Locality'}),
    }
       fields=('first_name','last_name','mobile_no','email','address_line_1','address_line_2','postal_code','city','country')

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53564
文章 [ 1 ]  |  最新文章 6 年前