*Please change*

def contact_form(request):
        template = 'contact.html'
        if request.method == 'POST':
               form = ContactForm(request.POST or None, request.Files or
None)
               if form.is_valid():
                     new_form = form
                     new_form.save(commit=True)


                return redirect('/')
           else:
                  form = ContactForm
            return render(request, template, context={"form":form})

*To*
def contact_form(request):
        template = 'contact.html'
        form = ContactForm(request.POST or None, request.Files or None)
               if form.is_valid():
                     form.save()
               else:
                      do something here
               return render(request, template, context={"form":form})

You are saving a form but calling back variable that holds unsaved version
of the form.

Regards,
Mudassar



On Thu, Sep 29, 2016 at 2:18 PM, ludovic coues <[email protected]> wrote:

> I would try to replace
>
>     if form.is_valid():
>         new_form = form
>         new_form.save(commit=True)
>
> with :
>
>     if form.is_valid():
>         print("Form is valid")
>         form.save(commit=True)
>     else:
>         print("Invalid form")
>
>
> Pretty sure you will get an invalid form, due to a missing field
> send_quote field. For the form to send the file, you need to add an
> enctype=multipart or something related.
>
> 2016-09-29 21:06 GMT+02:00 Ali khan <[email protected]>:
> > Appologies. In my view after else clause its ContactForm.
> >
> > On Thu, Sep 29, 2016 at 11:52 AM, Ali khan <[email protected]>
> > wrote:
> >>
> >> Hi,
> >>
> >> I am newbie so I must be doing some stupid mistake here.
> >>
> >> I am trying to save a contact form with ModelForm. But its not saving in
> >> DB from the frontend form.
> >>
> >> model.py
> >>
> >> class Contact(models.Model):
> >>      name = models.CharField(max_length=100, null=True, blank=True)
> >>      email = models.EmailField()
> >>      send_quote = models.FileField(upload_to='/contacts')
> >>
> >>       def __unicode__(self)
> >>            return self.name
> >>
> >> forms.py
> >>
> >> from .models import Contact
> >> from djagno import forms
> >> from django.forms import ModelForm
> >>
> >> class ContactForm(forms.ModelForm):
> >>         class Meta:
> >>                     model = Contact
> >>                     fields = ['name', 'email', 'send_quote']
> >>
> >> views.py:
> >>
> >> from Django.shortcuts import render, redirect
> >> from .forms import ContactForm
> >>
> >> def contact_form(request):
> >>         template = 'contact.html'
> >>         if request.method == 'POST':
> >>                form = ContactForm(request.POST or None, request.Files or
> >> None)
> >>                if form.is_valid():
> >>                      new_form = form
> >>                      new_form.save(commit=True)
> >>
> >>
> >>                 return redirect('/')
> >>            else:
> >>                   form = RFPForm
> >>             return render(request, template, context={"form":form})
> >>
> >>
> >> contact.html:
> >>
> >> <form action=" " method="POST">
> >> {% csrf_token %}
> >> {{ form }}
> >> <input type='submit' class='btn btn-danger' value='Send' />
> >> </form>
> >>
> >> Please advise.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Django users" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to [email protected].
> > To post to this group, send email to [email protected].
> > Visit this group at https://groups.google.com/group/django-users.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/django-users/CAAXvsYkTe_LU03ErF%3Dz%
> 3DbNfM3LapOsyQywzKxUP3tm5pxHh28Q%40mail.gmail.com.
> >
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
>
> Cordialement, Coues Ludovic
> +336 148 743 42
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-users/CAEuG%2BTaKjumkUsT_6Y4WVKkZqtG%
> 3DyPE6G6bazDJu39WewtaZrA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CANoUts5%3D%3DkVbJxgCf2MqjjQXkEhNqimzQfn2bJ7Vn%3D_k%3Divqyg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to