http://conansjh20.pythonanywhere.com/lottopage/

 

로또 당첨번호 확인

로또 당첨 번호 확인

conansjh20.pythonanywhere.com

위의 홈페이지를 만들기 위한 모든 과정을 하나하나 포스팅 하도록 하겠습니다.

자신이 만든 웹 프로그램(웹앱)을 django를 이용하여 인터넷에 배포하기 위해서는 기본적으로 내 컴퓨터 안에 가상서버를 구동하여 모두 설치한 이후에 그것을 몇가지 설정만 바꾸어서 그대로 인터넷에 업로드하여 구동시키면 됩니다.

 

모든 파이썬 프로그램 작성은 비주얼 스튜디오 코드를 사용 하였습니다.

 

1. pip install virtualenv : 가상환경 모듈 설치합니다.

 

2. 내 웹앱(홈페이지)을 구성할 폴더를 하나 만듭니다.(여기에 가상환경을 설치합니다.)

  일단  기존 다른 프로젝트 파일들과 헷갈리지 않도록 c:\ 바로 아래 폴더를 하나 만듭니다.

  (제가 그랬거든요...)

 

3. 그리고 가상환경을 만듦니다. 아래 명령 프롬프트로 가서 폴더를 만든 곳으로 이동합니다.

   (cd..은 상위 폴더로, cd "원하는 폴더명" 은 하위 폴더로 이동합니다.)

   그리고 그 곳에 가서 virtualenv venv 를 입력하면 가상환경을 위한 폴더, 파일이 생성됩니다.

Conansjh20이란 폴더에 설치하였습니다.

위와같은 구성의 폴더가 만들어집니다. Lib는 내가 앞으로 설치할 Module들이 들어가고 Scripts는 가상서버를 구동하거나 다시 끌 때 사용할 파일들이 들어가 있습니다.

 

4. 그다음 가상서버를 구동해야 합니다. 저는 Conansjh20이라는 폴더 안에 가상서버를 설치하였으니 C:\Conansjh20\Scripts\activate.bat를 실행합니다.

어느 경우나 아무 메세지도 안뜨는 건 에러 메세지보다는 좋다!

가상서버가 잘 구동중인지 확인하기 위해선 pip list 명령어를 입력해보면 기존 내가 설치한 모듈 없이 가장 기본적인 모듈만 설치되어 있는 것을 보고 확인할 수 있습니다.

 

5. 이제 내 웹앱에 필요한 모든 모듈들을 하나하나 설치해 줍니다.

  일단 django부터 시작하여 이번 웹 앱에는 requests, bs4만 설치하면 되는군요!

 

6. 그리고 django를 통하여 이제 웹앱을 설치해 봅니다.

   일단 내가 만든 웹앱용 폴더의 상위까지 이동하여 앱을 설치합니다.

 

django-admin startproject "프로젝트이름" "경로"

위의 경우 프로젝트 이름은 lottocheck로 경로는 . 만 입력하였는데 따로 하위폴더를 만들지 않고 위 명령어를 현 경로에 바로 설치한다는 의미입니다. (굳이 하나더 폴더를 만들 이유가 없을 듯 합니다.

그리고 위와 같이 lottocheck라는 폴더 안에 5개 파이썬 파일과 상위에 manage.py 파일이 생겼습니다.

앞장에서 나온 대부분의 파일들이 나오는군요. 별거 없군요...ㅎ

 

일단 lottocheck 폴더/파일들은 중앙 통제 센터랄까 여기서 시작하고 실제 동작하는 앱은 다시 폴더를 만들어 그안의 파일들로 구동됩니다. 하지만 지금까지 한 것 만으로도 충분히 앱이 구동되는데 서버를 돌려야 합니다.

(내 PC에서 웹앱을 돌리기 위해선 항상 1) 가상서버구동 2) 서버구동 을 기억합시다.)

 

python manage.py runserver 를 입력하면 위와 같이 나옵니다. 앞 포스트에 알려드렸듯이 manage.py를 통하여 서버를 구동하면 됩니다. 그리고 위의 결과창의 아래서 두번째줄 http://127.0.0.1:8000/ 이 내 컴퓨터내 서버입니다. 위 주소는 이미 settings.py에 입력된 주소이며 향후 내가 인터넷에 내 홈페이지를 올릴때에는 웹호스팅 업체의 서버 주소를 입력하면 됩니다. (http://www.pythonanywhere.com/ 가 되겠지요.)

 

그리고 직접 위의 주소를 웹브라우져에 입력하면,

장고를 배우면 수없이 보았을 그 화면입니다.

하지만 위 페이지를 만드는데 제가 한건 아무것도 한 게 없기때문에 아직은 좋아하긴 이릅니다.

(차라리 Hello, django! 문구라도 제가 입력해서 띄웠으면 좀 더 나았겠네요.)

+ Recent posts