mardi 4 septembre 2018

problem in creating a class view for creating new object in django

im trying to create a view class for handling creation of new Person object. you may access my code on Github via this link:

https://github.com/DAkbari/FaceRecognitionDjangoWebApi

this is definition of Person object

class Person(models.Model):
    firstName = models.CharField(max_length=200)
    lastName = models.CharField(max_length=200)
    faceEncode = models.CharField(max_length=3000)
    facePicture = models.FileField()
    lastLoginPicture = models.FileField()
    code = models.CharField(max_length=100)

i created class "UserForm" in forms.py in order to show fields which are required for creation of new Person objec:

from identify.models import Person from django import forms

class UserForm(forms.ModelForm):

    class Meta:
        model = Person
        fields = ['firstName', 'lastName', 'code', 'facePicture']

in next step i created a view for UserForm:

class PersonCreate(View):
    form_class = UserForm
    template_name = 'identify/new_person_form.html'

    #display a blink form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

        # process form data
    def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            # clean normalized data
            facePicture = form.cleaned_data['username']
            FName = form.cleaned_data['firstName']
            LName = form.cleaned_data['lastName']
            code = form.cleaned_data['code']
            user.save()

after navigating to resulting view and entering required fields when i click submit button the file which i've selected disappears and form raises required error for that field: facePicture field would disappears after clicking submit button

if i remove facePicture field from forms.UserForm everything would be fine




Aucun commentaire:

Enregistrer un commentaire