Phase 1 | ROS로 조명 및 공조 시스템 제어하기 |
가장 먼저 해야 할 일
Django를 설치했으니 이제 웹서버를 구동해보도록 하겠습니다. 대부분 그렇듯, 프로젝트를 먼저 만들어야 합니다. cranberry_web이라는 이름의 프로젝트를 만들겠습니다.
cd ~/catkin_ws/src/Cranberry
django-admin startproject cranberry_web
cd cranberry_web
python manage.py migrate
cranberry_web/ |
명령을 실행하면 위와 같은 디렉터리 구조가 생성되며, 페이지 관리를 위한 기본 설정(Migration)이 완료됩니다. 이제 다음의 명령어를 입력한 뒤 웹브라우저에서 127.0.0.1:8000을 입력해 Django에서 서비스하는 웹페이지에 들어가 보겠습니다.
python manage.py runserver
웹브라우저에서 127.0.0.1:8000에 접속했을 때, 위와 같은 페이지가 뜬다면, Django가 서비스하는 웹페이지 접속에 성공한겁니다.
Dashboard를 위한 Django앱 작성
위에서 프로젝트가 정상적으로 구동됨을 확인했습니다.위의 페이지는 단순히 Django가 정상적으로 작동함을 보여주고 있을 뿐입니다.
이제 Cranberry_web 프로젝트에 Dashboard라는 이름의 앱을 만들어 보겠습니다. 프로젝트는 여러 개의 앱을 포함하는 단위입니다. 다른 장고 프로젝트에서 앱은 글을 작성하는 화면을 제공하는 역할을 제공하기도 하고, 문서들의 목록을 불러오는 일을 하기도 합니다. Cranberry에서 작성할 Dashboard 앱은 ROS와의 통신을 담당합니다. Dashboard 앱을 추가해보겠습니다.
python manage.py startapp dashboard
앱을 만들고 나면 dashboard 디렉터리에 아래의 파일들이 추가됩니다.
cranberry_web/ |
디렉터리 구조가 갈수록 복잡해집니다. 장고가 단순히 파일을 웹으로 보내주는 웹서버가 아니라 프론트엔드, 백엔드를 모두 아우르는 웹 프레임워크이기 때문에 그렇습니다. 경우에 따라 장고를 사용하는 것이 조금은 오버스펙이 아닌가 하는 생각이 들 수 있습니다. 장고의 대안으로 tornado같은 걸 쓰면 '토목 공사'는 금방 끝납니다. 그러나 장기적으로 보면 장고를 사용하는 편이 기능을 추가하고 확장할 여지가 많습니다.
Dashboard 앱을 만들었으니, Dashboard 앱에 HTML과 CSS, JS 파일이 들어갈 자리를 만들어 줍시다.
cd dashboard
mkdir templates #html이 들어갈 자리입니다.
mkdir -p static/css #css가 들어갈 자리입니다.
mkdir -p static/js # js가 들어갈 자리입니다.
Done!
Django 서버를 작동시켜 봤으며, Dashboard 앱을 만들었습니다. 현재 건축으로 치자면 콘크리트 기초만 완료된 땅 위에 서 있는 것과 같습니다. 다음 포스팅에서는 HTML + CSS로 Dashboard 페이지를 만들어 보겠습니다.
Django 관련 내용은 다음을 참조하였으며, 다음 링크에서 더 많은 내용을 확인할 수 있습니다.
긴 글 읽어주셔서 감사합니다.
글이 도움이 되셨다면 왼쪽 아래의 공감버튼과 광고 클릭 부탁드립니다. 고마움을 표현할 수 있는 가장 쉬운 방법입니다.