I am new to Django , i just created a simple form to store the user input to database, but the data is not stored while clicking submit button, when i click the submit button the current page is refreshed, but data not stored in database. what is wrong in my code ?.I have created the following models, and my code is ,
mysite/jobs/models.py
from django.db import models
class Cost(models.Model):
cost = models.FloatField()
date = models.DateField()
mysite/jobs/views.py
from django.shortcuts import render
from jobs.forms import CostForm
from jobs.models import Cost
def costView(request):
if request.method == 'POST':
form = CostForm(request.POST)
if form.is_valid():
date = request.POST.get('date','')
cost = request.POST.get('cost','')
cost_obj = Cost(date=date, cost=cost)
cost_obj.save()
return HttpResponse("csdfsdf")
else:
form = CostForm()
return render(request,'jobs/cost.html',{'form':form,})
mysite/jobs/forms.py
from django import forms
class CostForm(forms.Form):
date = forms.DateField()
cost = forms.FloatField()
mysite/jobs/templates/jobs/cost.html
<form action="{% url 'jobs:cost' %}" method="post"> {% csrf_token %}
<p><label for="date">Date:</label><input type="text" name="date" value={% now "Y-m-d" %}/></p>
<p><label for="cost">Cost:</label><input type="text" name="cost" value="0" id="cost"/></p>
<input type="submit" value="Submit"/>
</form>
mysite/jobs/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.costView, name='cost'),
]
mysite/urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^', include('jobs.urls',namespace="jobs")),
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]