I've tried solutions from the following posts:
Saving data from ModelForm : Didn't work
ModelForm data not saving django : Didn't work.
I'm trying to save data from a ModelForm into the model.
models.py:
class Testimonials(models.Model):name = models.CharField(max_length=128)credentials = models.CharField(max_length=128)test = models.CharField(max_length=2000)id = models.AutoField(primary_key=True)NO = 'NO'YES = 'YES'APPROVAL = ((NO, 'no'), (YES, 'yes'))verified = models.CharField(choices=APPROVAL, default=NO, max_length=3) #Field for making sure only verified testimonials are displayeddef __unicode__(self):return self.id
forms.py:
class TestimonialForm(forms.ModelForm):name = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-area', 'placeholder': 'Enter your name'}), required=True)credentials = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-area', 'placeholder': 'Enter your designation'}), required=True)test = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control test-form-area', 'placeholder': 'Testimonial', 'rows': '5'}), required=True)verified = forms.ChoiceField(widget=forms.HiddenInput())class Meta:model = Testimonials
views.py
def add_testimonial(request):context = RequestContext(request)if request.method == 'POST':form = TestimonialForm(request.POST)if form.is_valid():form.save(commit=True)return HttpResponseRedirect('/testimonials/thanks/')else:print form.errorselse:form = TestimonialForm()return render_to_response('templates/add_testimonial.html', {'form': form}, context)
Template:
<form id="testimonial_form" method="POST" action="/testimonials/thanks/">{% csrf_token %}{% for hidden in form.hidden_fields %}{{ hidden }}{% endfor %}{% for field in form.visible_fields %}{{ field.help_text}}{{ field }}{% endfor %}<input type="submit" name="submit" value="Add testimonial" class="btn btn-info test-button"/>
</form>
EDIT:
urls.py
url(r'^testimonials/all/', views.testimonials, name='testimonial'),
url(r'^testimonials/thanks/', views.testimonials_thanks, name='testimonial_thanks'),
url(r'^add_testimonial', views.add_testimonial, name='add_testimonial'),
However, on redirect, it doesn't save the form into the model which I'm checking from both PHPMyAdmin (using a MySQLdb) and the Django Admin panel. Any idea why?