You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
2.0 KiB

import json
from django.shortcuts import render
from django.core.urlresolvers import reverse
from django.http import JsonResponse, HttpResponse
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView, TemplateView
from .models import WorkSell
from .forms import WorkSellForm
class WorkSellsView(ListView):
model = WorkSell
template_name = 'worksells_list.html'
paginate_by = 20
class WorkSellDetail(DetailView):
model = WorkSell
template_name = 'worksell_detail.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['worksell_related'] = WorkSell.objects.all()[:5]
return context
def work_sell_create(request):
if request.is_ajax():
form = WorkSellForm(data=request.POST)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
data = {'status': 'ok'}
else:
data = {'status': 'no', 'form_errors': form.errors}
return HttpResponse(json.dumps(data), content_type='application/json')
return HttpResponse("HEllo")
class WorkSellCreateView(CreateView):
model = WorkSell
form_class = WorkSellForm
template_name = 'worksell_create.html'
class WorkSellUpdateView(UpdateView):
model = WorkSell
form_class = WorkSellForm
template_name = 'worksell_edit.html'
def get_success_url(self):
return reverse('work_sell:list')
class WorkSellDeleteView(CreateView):
model = WorkSell
class JSONResponseMixin(object):
def render_to_json_response(self, context, **response_kwargs):
return JsonResponse(
self.get_data(context),
**response_kwargs
)
def get_data(self, context):
context = {'test': 'data'}
return context
class JSONView(JSONResponseMixin, TemplateView):
def render_to_response(self, context, **response_kwargs):
return self.render_to_json_response(context, **response_kwargs)