Thanks Mudassar,

Its working now.



On Fri, Sep 30, 2016 at 8:42 PM, M Hashmi <[email protected]> wrote:

> *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_LU
>> 03ErF%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/ms
>> gid/django-users/CAEuG%2BTaKjumkUsT_6Y4WVKkZqtG%3DyPE6G6bazD
>> Ju39WewtaZrA%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%3DkVbJxgCf2MqjjQXkEhNqimzQfn2b
> J7Vn%3D_k%3Divqyg%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CANoUts5%3D%3DkVbJxgCf2MqjjQXkEhNqimzQfn2bJ7Vn%3D_k%3Divqyg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> 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/CAAXvsY%3DLZO1dX%2BDhTGaZ9hkW5SpwpEC5Y43YDeSQTS20bS56Og%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to