|as_crispy_field передано недопустимое или несуществующее поле django?

views.py

 def VendorEdit(request, id=0):
if request.method == "GET":
    vendor = CustomUser.objects.get(pk=id)
    print(vendor)
    form = VendorCreationForm(instance=vendor)
    vendordetails = VendorDetails.objects.filter(vendoruser_id=vendor.id)
    print(vendordetails)
    vendordetailform = VendorAdminDetailsForm(instance=vendordetails[0])
    return render(request, 'vendor/edit.html', {'form':form, 'vendor':vendor, 'vendordetailform':vendordetailform})
else:
    vendor = CustomUser.objects.get(pk=id)
    form = VendorCreationForm(request.POST, instance=vendor)
    vendordetails = VendorDetails.objects.filter(vendoruser_id=vendor.id)
    vendordetailform = VendorAdminDetailsForm(request.POST, request.FILES, instance=vendordetails[0])
    
    if form.is_valid() and vendordetailform.is_valid():
        vendor=form.save()
        # vendordetailform.instance.vendoruser = vendor
        vendordetailform.save()
        # vendor.is_active = False
        # vendor.save()
    return redirect('login')

edit.html

     <form method="POST" action="{% url 'vendor_edit' vendor.id %}"  enctype='multipart/form-data'>

    {% csrf_token %}


        {{ vendorform.email|as_crispy_field}}
        {{ vendorform.first_name|as_crispy_field}}
        {{ vendorform.last_name|as_crispy_field}}
        {{ vendorform.mobile_number|as_crispy_field}}
        {{ vendorform.password1|as_crispy_field}}
        {{ vendorform.password2|as_crispy_field}}

        {{ vendordetailform.type_of_vendor|as_crispy_field}}
        {{ vendordetailform.aadhar_number|as_crispy_field}}
        {{ vendordetailform.aadhar_image|as_crispy_field}}
        {{ vendordetailform.pan_number|as_crispy_field}}
        {{ vendordetailform.pan_image|as_crispy_field}}
        {{ vendordetailform.store_name|as_crispy_field}}
        {{ vendordetailform.brand_name|as_crispy_field}}
        {{ vendordetailform.mail_id|as_crispy_field}}
        {{ vendordetailform.contact_no|as_crispy_field}}
        {{ vendordetailform.gst_number|as_crispy_field}}
        {{ vendordetailform.attach_gst_cert|as_crispy_field}}
        {{ vendordetailform.acct_number|as_crispy_field}}
        {{ vendordetailform.attach_passbook|as_crispy_field}}
        {{ vendordetailform.ifsc_code|as_crispy_field}}            
        {{ vendordetailform.insta_account|as_crispy_field}}
        {{ vendordetailform.website|as_crispy_field}}
        {{ vendordetailform.street_name|as_crispy_field}}
        {{ vendordetailform.city|as_crispy_field}}
        {{ vendordetailform.pincode|as_crispy_field}}



    <button type="submit" class="btn btn-dark" value="Submit">Preview</button>&ensp;
    <a href="{% url 'login' %}">Already a Vendor?</a>
</form><br>

После того, как пользователь зарегистрировался, я позволяю ему предварительно просмотреть и отредактировать свои данные, когда он отредактирует свои данные и просмотрит их, затем нажмите кнопку отправить. Это приведет к перенаправлению на вход в систему. Опция редактирования не работает и после предварительного просмотра не перенаправляет на вход пользователя. пожалуйста, нужна помощь.

Вы пытаетесь отобразить vendorform.password1 и vendorform.password2 как хрустящие поля.

Однако эти поля не существуют в вашей форме поставщика.

Если у вас есть password1 и password2 в модели CustomeUser, просто добавьте эти поля в VendorCreationForm.

 class VendorCreationForm(UserCreationForm):

 class Meta:
    model = CustomUser
    fields = ['email','first_name','last_name','mobile_number','password1','password2']

Более того, вы используете неправильное имя формы в своем шаблоне. Вы передаете форму как 'form' в контексте, но используете 'vendorform' в шаблоне.

Должно быть

{{form.email|as_cripsy_field}}
#etc
Вернуться на верх