def get(self, request): response_type = request.GET.get("type", '') if response_type == 'agritech': select = request.GET.get('select', 96) select = int(select) databases = GjnydbDes.objects.filter( category="农业科技资源数据").order_by('index') database = GjnydbDes.objects.get(id=select).title page = request.GET.get('page', 1) index = request.GET.get('index', "") display_fields = AgriTechContent.objects.filter( title=database, display=1).order_by("index") if index: detail_fields = AgriTechContent.objects.filter( title=database).order_by("index") detailkey = ["id"] for key in detail_fields: detailkey.append(key.content) items = self.techdata[database].objects.filter( id=index).values_list() detail = [] for num in range(0, len(detailkey)): detail.append({ "key": detailkey[num], 'value': items[0][num] }) return render_to_response( 'techdetail.html', { "items": items, "select": select, "databases": databases, "detail": detail, }) content_fields = display_fields.values_list('english') contents = [ 'id', ] for i in content_fields: contents.append(i[0]) items = self.techdata[database].objects.all().values_list( *contents) items_num = items.count() items = Paginator(items, 20, request=request) items = items.page(page) return render_to_response( 'tech.html', { "display_fields": display_fields, "items": items, "items_num": items_num, "select": select, "databases": databases, }) elif response_type == 'pest': select = request.GET.get('select', 54) select = int(select) databases = GjnydbDes.objects.filter( category="农业有害生物数据").order_by('index') database = GjnydbDes.objects.get(id=select).title page = request.GET.get('page', 1) index = request.GET.get('index', "") display_fields = FieldContent.objects.filter( title=database, display=1).order_by("index") if index: detail_fields = FieldContent.objects.filter( title=database).order_by("index") detailkey = ["id"] for key in detail_fields: detailkey.append(key.content) items = self.pestset[database].objects.filter( id=index).values_list() detail = [] for num in range(0, len(detailkey)): detail.append({ "key": detailkey[num], 'value': items[0][num] }) return render_to_response( 'pestdetail.html', { "items": items, "select": select, "databases": databases, "detail": detail, }) content_fields = display_fields.values_list('english') contents = [ 'id', ] for i in content_fields: contents.append(i[0]) items = self.pestset[database].objects.all().values_list(*contents) items_num = items.count() items = Paginator(items, 20, request=request) items = items.page(page) return render_to_response( 'pest.html', { "display_fields": display_fields, "items": items, "items_num": items_num, "select": select, "databases": databases, }) elif response_type == 'years': year = request.GET.get('select', "2016") yearlist = YearBooksDes.objects.all().order_by('-year') yearsinfo = yearlist.get(year=year) sunxu = request.GET.get('shunxu', 0) page = request.GET.get('page', 0) content = YearBooksContent.objects.filter(year=year) if sunxu: mulu = YearBooksContent.objects.get(year=year, index=sunxu).content items = YearBooks.objects.filter(year=year, category=mulu).order_by("id") else: items = YearBooks.objects.filter(year=year).order_by("id") counts = items.count() items = Paginator(items, 20, request=request) items = items.page(page) return render_to_response("years.html", context={ "yearsinfo": yearsinfo, "content": content, "items": items, "yearlist": yearlist, "counts": counts, }) elif response_type == 'genetic ': select = request.GET.get('select', 25) if int(select) == 25: items = CsvHtmls.objects.all() page = request.GET.get('page', 0) counts = items.count() items = Paginator(items, 20, request=request) items = items.page(page) return render_to_response("csvmain.html", context={ "items": items, "counts": counts, }) else: yearlist = YearBooksDes.objects.all().order_by('-year') agritech = GjnydbDes.objects.filter( category='农业科技资源数据').order_by('index') crop = GjnydbDes.objects.filter( category='作物品种品质数据').order_by('index') pest = GjnydbDes.objects.filter( category='农业有害生物数据').order_by('index') product = GjnydbDes.objects.filter( category='农产品资源数据').order_by('index') genetic = GjnydbDes.objects.filter( category='作物遗传资源数据').order_by('index') return render_to_response("resource.html", context={ "yearlist": yearlist, "agritech": agritech, "pest": pest, "crop": crop, "product": product, "genetic": genetic, })