[Fixed]-Django template form not saving data

1👍

Almost certainly the form is not valid, but you’re not using it in your template so there is no way for it to display errors, or redisplay itself with partially-filled fields.

The Django documentation is fairly explicit on this, so I don’t know why you have done something different. Pass the form into your context:

d['form'] = SalesForm
return render(request, 'm1/add_doc_info.html', d)

and use it in the template:

{{ form.errors }}
<form action="" method="post" id="salesform">
    {% csrf_token %}

    {{ form.name }}
    {{ form.clinic_name }} 
    {{ form.phone }}
    {{ form.email }}
    <button id="sub" type="submit" class="btn btn-default">Submit</button>
</form>

(Note also you’ve unnecessarily defined all the fields explicitly in the form, but also stated you are only using two of them in the meta class; also your is_valid block is mostly unnecessary as you can just call form.save() directly. Again, all this is shown fully in the documentation.)

Leave a comment