Janson
Janson

Reputation: 89

insert not working ,it redirect to view without saving the data

def insert_(request):
    if request.method=='GET':
        form=ClientServicesForm()
        return render(request,"ClientServices/insert.html",{'form':form})
    else:
        form=ClientServicesForm(request.POST)
        if form.is_valid():
          form.save()
        return redirect('/clientservices/')

I am trying to save data from a form but it is not saving to database ,it is rendering insert.html peroperly ,while saving it does not save database but without saving redirect to view

Upvotes: 0

Views: 52

Answers (1)

Bea
Bea

Reputation: 278

I'm not exactly sure and I didn't test it, but I will try something like that :

## use messages
from django.contrib import messages

def insert_(request):
     template_name = "ClientServices/insert.html"
     form = ClientServicesForm()
     context = { 'form':form }

     if request.method == 'POST':
         form = ClientServicesForm(data=request.POST or None)

         if form.is_valid():
             messages.success(request, 'ok')
             form.save()
             return redirect('/clientservices/')

     return render(request, template_name, context)

Upvotes: 2

Related Questions