2020. 12. 16. 22:05ㆍpython 전문가로/Django
장고 DB에 데이터가 있는지 확인하는 저의 방법을 적어볼려고 해요.
저는 Cmder라는 Windows 용 console emulator를 사용해서 프로젝트에 접근합니다!
shiningyouandme.tistory.com/16
위와 같이 데이터를 연동했다면,
cmder를 이용해 데이터를 확인해볼까요?
shell을 이용하는 것은 데이터를 이리저리 조작할 수 있는 예행연습을 마련해주는 playground같은 곳이라 생각해요!
먼저, cmder(콘솔)에서 프로젝트 경로로 들어갑니다.
python manage.py shell
위의 명령어를 쓰면 IPython으로 변경되는데요~
여기서,
from board.models import *
그럼 models.py 에 있는 DB layout이 모두 추가됩니다!
그럼 자유롭게 콘솔에서 파이썬(python)을 이용해 데이터를 만지며 예행연습 후 views.py에 코드로 옮기면 시간절약할 수 있는 코딩을 할 수 있습니다~!
테이블에서 데이터를 가져올 때, 맨처음은 QeurySet으로 가져와야합니다.
class명(models.py).objects.values()
이렇게 명령어를 치면 QuerySet구문으로 값들을 뽑아낼 수 있어요~
쉽게 데이터분석을 하기 위해서 DataFrame으로 변경할 필요가 있겠죠?
import pandas as pd
df = DataFrmae(data)
예를들어서 region==1인 데이터를 뽑는다면,
이런식으로 데이터분석을 진행하시면 됩니다.
하지만, 가장 중요한 것!!!!
Django에서 views.py에서 데이터분석을 한 후 html로 데이터를 넘길때는 데이터 형식은 DataFrame로 넘기면
django template를 쓰기 매우매우매우 어렵습니다ㅜㅜ!!(제가 못하는 걸수도...)
그래서 html로 데이터를 넘길때에는 json이나 list형식으로 넘겨야 되요!
alert_us_json = json.dumps(list(data_region_1), cls=DjangoJSONEncoder)
import pandas as pd
import json
def index(request):
data = Alert_history.objects.values()
df = pd.DataFrame(data)
data_region_1 = df[df['region']==1]
region_json=data_region_1.to_json(orient='records')
context = {
'region_json': region_json,
}
return render(request, 'board/index.html', context)
위와 같이 json또는 list 등으로 데이터타입을 변형후 html로 보내주면 django template으로 값을 웹페이지에 보여질 수 있게 됩니다!
'python 전문가로 > Django' 카테고리의 다른 글
iframe에 Django웹페이지 보이게 하는 방법(feat. 워드프레스) (0) | 2022.01.29 |
---|---|
[Django]html에서 views.py로 데이터(변수/파라미터) 통신 제일 쉬운 방법(form을 통한 post방식) (0) | 2021.12.20 |
[Django]ajax(POST)를 활용한 javascript와 views.py 데이터 통신 파이차트만들기(feat. csv파일 업로드) (0) | 2021.01.06 |
[Django]Canvasjs으로 멀티 라인차트(Line Chart) 보여주기(feat.무료) (1) | 2021.01.02 |
[Django]장고 기본 DB(SQLite)를 활용하여 연동하기 (1) | 2020.12.16 |