views.py 1.99 KB
#-*- coding:utf-8

from django.shortcuts import render
from django.db.models import Count, Max
from urllib.request import urlopen
from .models import RT_edu, Maps, RT_agri_policy
from bs4 import BeautifulSoup
import pandas as pd

# Create your views here.

def returnfarm_dbselect(contenttype, maptype):
    if maptype == 9:
        mapt = 'city'
    elif maptype == 10:
        mapt = 'cntr'
    if contenttype=='policy':
        myrtrn = RT_agri_policy.objects.values(mapt).annotate(count=Count(mapt))
        return myrtrn
    elif contenttype=='edu':
        myrtrn = RT_edu.objects.values(mapt).annotate(count=Count(mapt))
        return myrtrn

# 공공데이터 불러오는 부분
def publicdata():
    # 통계청 귀농가구원의 시도별, 시군별, 연령별 
    url = 'http://kosis.kr/openapi/statisticsData.do?method=getList&apiKey=M2I3MWFhNzE2MjlkYjhhNzgwNWFjNWQ3MGU0MzY5Y2Y=&format=json&jsonVD=Y&userStatsId=tjsdk3105/101/DT_1A02003/2/1/20200529160216&prdSe=Y&newEstPrdCnt=1'
    data = urlopen(url).read().decode('utf8')
    return data

def main(request):
    return render(request, 'main.html')

def returnfarm(request):
    try:
        maptype = request.GET['maptype']
        contenttype = request.GET['contenttype']
        mapp = Maps.objects.get(id=int(maptype))
        exportdatas = returnfarm_dbselect(contenttype, int(maptype))
    except:
        mapp = Maps.objects.get(id=9)
        exportdatas = {}
    context = {'exportdata': exportdatas, 'maps':mapp}
    return render(request, 'returnfarm.html', context)


def population(request):
    try:
        maptype = request.GET['maptype']
        densitytype = request.GET['densitytype']
        mapp = Maps.objects.get(id=int(maptype))
        exportdatas = publicdata()
    except:
        mapp = Maps.objects.get(id=9)
        exportdatas = {}
    exportdatas = publicdata()
    context = {'exportdata': exportdatas, 'maps':mapp}
    return render(request, 'population.html', context)

def market(request):
    return render(request, 'market.html')