def cars_view(request): """A view for cars.""" if request.method == 'POST': # POST creates a car try: data = json.loads(request.body) except ValueError: return HttpResponseBadRequest('Not valid JSON!') form = CarForm(data) if form.is_valid(): car = form.save() # Return a 201 CREATED response response = HttpResponse(status=201) response['Location'] = '/cars/' + str(car.id) return response else: return HttpResponseBadRequest('Invalid data!') elif request.method == 'GET': # GET returns a list of objects cars = Car.objects.all() return render_to_response('cars.json', {'cars': cars}, content_type='application/json') # Notify client of supported methods return HttpResponseNotAllowed(['GET', 'POST'])
def add_new_car(request): if request.method == 'POST': form = CarForm(request.POST, request.FILES) if form.is_valid(): car = form.save(commit=False) car.user = request.user car.save() location = os.path.join(BASE_DIR, 'media', 'user_uploads', '{}-{}'.format(request.user.id, request.user.username), '{}-{}'.format(car.pk, car.name), 'images') location_to_database = os.path.join('user_uploads', '{}-{}'.format(request.user.id, request.user.username), '{}-{}'.format(car.pk, car.name), 'images', ) fs = FileSystemStorage(location=location) image = request.FILES.get('image', False) logo = request.FILES.get('logo', False) if image: fs.save(str(car.image), image) car.image = os.path.join(location_to_database, str(car.image)) car.save() if logo: fs.save(str(car.logo), logo) car.logo = os.path.join(location_to_database, str(car.logo)) car.save() return redirect('cars:cars_home') else: form = forms.CarForm() return redirect('cars:cars_home')
def add_car(request): form = CarForm() if request.method == "POST": form = CarForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect("cars:index") return { "form": form }
def carview(request): if request.method == "POST": form = CarForm(request.POST) if form.is_valid(): try: form.save() return redirect('/show') except: pass else: form = CarForm return render(request,'index.html',{'form':form})
def edit(request, id): p = get_object_or_404(Car, pk=id) if request.method == "POST": form = CarForm(request.POST) if form.is_valid(): p.MPG = form.cleaned_data['MPG'] p.HP = form.cleaned_data['HP'] p.BODYTYPE = form.cleaned_data['BODYTYPE'] p.TRANSMISSION = form.cleaned_data['TRANSMISSION'] p.NUM_GEARS = form.cleaned_data['NUM_GEARS'] p.save() return http.HttpResponseRedirect('/cars/') else: form = CarForm(instance=p) context = Context({'title': 'Edit Item', 'form': form, 'car': p }) return render_to_response('cars/edit.html', context, context_instance=RequestContext(request))
class CarListView(FormMixin, ListView): model = Car paginate_by = 15 form_class = CarForm def get_queryset(self): queryset = super().get_queryset() self.form = CarForm(self.request.GET) if self.form.is_valid(): filters = Car.get_filter(self.request.GET) return queryset.filter(filters) else: return queryset def get_context_data(self): context = super().get_context_data() context['form'] = self.form return context
def put(self, request): """updating a car through PUT METHOD Args: request : Httprequest Returns: HttpResponse """ try: data = json.loads(request.body) except ValueError: return HttpResponseBadRequest('Not valid JSON!') get_id = Car.objects.get(id=data.get('id')) form = CarForm(data, instance=get_id) if form.is_valid(): form.save() response = HttpResponse(status=200) return response else: return HttpResponseBadRequest('Invalid data!')
def post(self, request): """Adding a car POST method Args: request : Httprequest Returns: HttpResponse """ try: data = json.loads(request.body) except ValueError: return HttpResponseBadRequest('Not valid JSON!') form = CarForm(data) if form.is_valid(): car = form.save() response = HttpResponse(status=201) response['Location'] = '/cars/' + str(car.id) return response else: return HttpResponseBadRequest('Invalid data!')
def car_details(request, pk): """Retrieve, update or delete a car details""" try: car = Car.objects.get(id=int(pk)) except Car.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': # GET returns a car object with given id return render_to_response('car.json', {'car': car}, content_type='application/json') elif request.method == 'DELETE': # DELETE a car object car.delete() return HttpResponse(status=204) elif request.method == 'PUT': # PUT updates the details of existing car try: data = json.loads(request.body) except ValueError: return HttpResponseBadRequest('Not valid JSON!') form = CarForm(data) if form.is_valid(): car.make = data.get('make', car.make) car.model = data.get('model', car.model) car.year = data.get('year', car.year) car.save() # Return a 205 CREATED response response = HttpResponse(status=205) response['Location'] = '/cars/' + str(car.id) return response else: return HttpResponseBadRequest('Invalid data!') # Notify client of supported methods return HttpResponseNotAllowed(['GET', 'DELETE', 'PUT'])
def skrot(request): if request.method=='POST': if 'findCarData' in request.POST: plade=request.POST.get('numField') stel=request.POST.get('stelField') print str(plade)+str(stel) if plade: data=getCarData.getCarDataByPlateOrStel(plate=plade) if data is not None: num_data=data['Registreringsnr:'] stel_data=data['Stelnummer:'] art_data=data['Art:'] year_data=data[u'F\xf8rste Registreringsdato:'] brand_data=data[u'M\xe6rke:'] form=CarForm(initial={'plate':num_data, 'stelNum':stel_data,'art':art_data,'year':year_data, 'brand':brand_data}) return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her'}, context_instance=RequestContext(request)) else: form=CarForm() return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her','errorsText':'Kan ikke finde bilen med denne nummerplade'}, context_instance=RequestContext(request)) elif stel: data=getCarData.getCarDataByPlateOrStel(stel=stel) if data is not None: num_data=data['Registreringsnr:'] stel_data=data['Stelnummer:'] art_data=data['Art:'] year_data=data[u'F\xf8rste Registreringsdato:'] brand_data=data[u'M\xe6rke:'] form=CarForm(initial={'plate':num_data, 'stelNum':stel_data,'art':art_data,'year':year_data, 'brand':brand_data}) return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her'}, context_instance=RequestContext(request)) else: form=CarForm() return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her','errorsText':'Kan ikke finde bilen med dette stelnummer'}, context_instance=RequestContext(request)) else: form=CarForm() return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her', 'errorsText':'Mangler at indtaste bilens nummerplade eller stelnummer'}, context_instance=RequestContext(request)) # html="<html><body>Lad vær med det. Det er forbudt.</body></html>" # return HttpResponse(html) else: form=CarForm(request.POST,request.FILES ) if form.is_valid(): d=form.cleaned_data['duration'] now = datetime.now() #datetime.now().strftime('%y-%m-%d %H:%M') end=now+timedelta(days=int(d)) car=models.Car(plate=form.cleaned_data['plate'], year=form.cleaned_data['year'], brand=form.cleaned_data['brand'], address=form.cleaned_data['address'], city=form.cleaned_data['city'],pickup=form.cleaned_data['pickup'], email=form.cleaned_data['email'], tlf=form.cleaned_data['tlf'], start_time=now, end_time=end, picture=form.cleaned_data['picture'], ) car.save() # car.picture.save(car.plate,form.cleaned_data['picture'],save=True ) aos=[] for g in request.POST.getlist('bid_area'): ar=Area.objects.get(pk=g) bid_area_to_car=BidArea(car=car,area=ar) bid_area_to_car.save() ao_from_one_area=AO.objects.filter(area=ar) aos.append( ao_from_one_area) new_car_email(car,aos) return render_to_response('skrot.html', {'form':form,'text':'Du har nu registreret din bil i vores database, og den er nu klar til at blive budt på.'},context_instance=RequestContext(request)) else: return render_to_response('skrot.html', {'form':form, 'text':"Forkert indtastning, indtast bilens oplysninger igen"}, context_instance=RequestContext(request)) else: form=CarForm() return render_to_response('skrot.html', {'form':form, 'text': 'Du kan også indtaste bilens oplysninger manuelt her'}, context_instance=RequestContext(request))