- Django: Edit data in a form
- def vehicle_add(request):
- if request.method == 'POST':
- form = VehicleForm(request.POST)
- if form.is_valid():
- newvehicle = Vehicle()
- vdetails = form.cleaned_data
- newvehicle.reg_number= vdetails['regnumber']
- newvehicle.model= vdetails['model']
- newvehicle.manufacturer= vdetails['manufacturer']
- newvehicle.year= vdetails['year']
- newvehicle.chassis_number= vdetails['chasisnumber']
- Vehicle.save(newvehicle)
- return HttpResponseRedirect('/vehicle')
- else:
- form = VehicleForm()
- return render_to_response('vehicle_add.html', {'form': form}, context_instance=RequestContext(request))
- {% for v in obj %}
- <tr><td><a href="/vehicle/{{v.id}}/">{{ v }}</a></td></tr>
- {% endfor %}
- {% extends "base.html" %}
- {% block title %}Add Vehicle{% endblock %}
- {% block page %}Add Vehicle{% endblock %}
- {% block content %}
- <html>
- <head>
- <style type="text/css">
- ul.errorlist {
- margin: 0;
- padding: 0;}
- .errorlist li {
- background-color: red;
- color: white;
- display: block;
- font-size: 10px;
- margin: 0 0 3px;
- padding: 4px 5px;}
- </style>
- </head>
- <body>
- <section id = "mainform">
- {% if form.errors %}
- <p style="color: red;">
- Please correct the error{{ form.errors|pluralize }} below.
- </p>
- {% endif %}
- <form action="" method="post">{% csrf_token %}
- <div class="field">
- {{ form.regnumber.errors }}
- <label for="id_regnumber">Reg #:</label>
- {{ form.regnumber }}</div>
- <div class="field">
- {{ form.model.errors }}
- <label for="id_model">Model:</label>
- {{ form.model }}</div>
- <div class="field">
- {{ form.manufacturer.errors }}
- <label for="id_manufacturer">Manufacturer:</label>
- {{ form.manufacturer }}</div>
- <div class="field">
- {{ form.year.errors }}
- <label for="id_year">Year:</label>
- {{ form.year }}</div>
- <div class="field">
- {{ form.chasisnumber.errors }}
- <label for="id_chasisnumber">Chasis #:</label>
- {{ form.chasisnumber }}</div>
- <div class="field">
- <input type="submit" value="Submit">
- <input type="submit" value="Clear">
- </div></form></section>
- </body>
- </html>
- {% endblock %}
- def vehicle_add(request):
- if request.method == 'POST':
- form = VehicleForm(request.POST)
- if form.is_valid():
- newvehicle = Vehicle()
- vdetails = form.cleaned_data
- newvehicle.reg_number= vdetails['regnumber']
- newvehicle.model= vdetails['model']
- newvehicle.manufacturer= vdetails['manufacturer']
- newvehicle.year= vdetails['year']
- newvehicle.chassis_number= vdetails['chasisnumber']
- Vehicle.save(newvehicle)
- return HttpResponseRedirect('/vehicle')
- else:
- #WORKING ON THIS
- form = VehicleForm
- newvehicle = Vehicle.objects.get(pk=9)
- form = VehicleForm(newvehicle)
- return render_to_response('vehicle_add.html', {'form': form}, context_instance=RequestContext(request))
- class VehicleForm(forms.Form):
- regnumber = forms.CharField(
- max_length=7,
- label='Reg #:',
- widget = forms.TextInput(attrs={'size':7}) )
- model = forms.CharField(
- label='Model',
- widget = forms.TextInput(attrs={'size':25}) )
- manufacturer = forms.CharField(
- max_length=25,
- label='Manufacturer',
- widget = forms.TextInput(attrs={'size':25}) )
- year = forms.IntegerField(
- label='Year',
- widget = forms.TextInput(attrs={'size':4}) )
- chasisnumber = forms.CharField(
- required=False, label='Chasis #',
- widget = forms.TextInput(attrs={'size':25}) )
- #WORKING ON THIS
- # form = VehicleForm <<< THIS LINE IS UNNECESSARY
- newvehicle = Vehicle.objects.get(pk=9)
- form = VehicleForm(newvehicle.__dict__)