Exemplo n.º 1
0
    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,
                                      })