from django.shortcuts import render, redirect from django.views.generic.base import View from apps.goods.models import * from apps.goods.forms import * # Create your views here. class GoodCateView(View): def get(self, request): cates = GoodsCategory.objects.all() return render(request, 'goods/cate_index.html', {'cates': cates}) def post(self, request): pass class GoodCateAddView(View): def __init__(self): self.alist = [] def bind_data(self, data, _id, n): if id == 0: data = data.filter(parent__isnull=True) else: data = data.filter(parent=_id) for d in data: print(d) self.alist[d.id] = self.space_length(n) + d.name self.bind_data(d, d.id, n + 2) return self.alist def space_length(self, i): space = '' for j in range(1, i): space += "  " return space + "|--" def get(self, request): form_obj = GoodsCateForm() return render(request, 'goods/cate_add.html', {'form_obj': form_obj}) def post(self, request): form_obj = GoodsCateForm(request.POST, request.FILES) if form_obj.is_valid(): name = request.POST.get('name', '') cates = GoodsCategory.objects.filter(name=name) if cates: info = '分类已经存在' else: cate = GoodsCategory.objects.create(**form_obj.cleaned_data) return redirect('cate_index') return render(request, 'goods/cate_add.html', {'form_obj': form_obj, 'info': info}) else: errors = form_obj.errors print(errors) return render(request, 'goods/cate_add.html', {'form_obj': form_obj, 'info': errors})