web
-
CGV 영화 상영정보 제공기능 완성web/Django 2019. 12. 10. 16:27
그동안 상영정보를 장고로 보여주는 기능을 구현하기 위해서 삽질하면서 알게 된 몇 가지 정보들과 그렇게 해서 구현한 기능들이 어떠한 원리로 동작하는지 정리해야 겠다 1. URL 매핑 장고의 URL 매핑시 가장먼저 확인하는 URL 매핑 파일의 디폴트 위치는 빨간 박스의 해당 프로잭트의 settings.py 파일이 있는 곳이다. 그렇기 때문에 include 함수를 사용하여 URL의 기본 형태인 " " 과 같이 빈 요청이 오면 파란 박스의 cgv_cr 이라는 app의 urls.py 파일로 찾아가라고 설정해 두었다. 위의 사진은 cgv_cr app에 위치한 urls.py 의 모습이다. 가장 먼저 장고의 urls 패키지를 불러와 path 라는 함수를 import 해주었다 그 뒤 views.py 을 import 해주..
-
장고 View ( step.2 )web/Django 2019. 12. 5. 04:53
전에 URL을 매핑 시켜 가지고 Views.py에 있는 어떠한 함수를 실행시킬지 정해 주었다. 지금 부터는 Views.py에 기능들을 정의 해서 어떠한 작업을 할지 알아보려고 한다. 위의 갈색 박스처럼 해당 프로젝트의 app 디렉터리 안에 views.py 파일로 위치하고 있으며 기능을 정의할 때에는 기존에 파이썬의 함수 생성과 같이 # def 함수명 ( request ) : 구조로 만들며 해당 함수의 기능은 DB에 어떻게 접근해서 어떠한 정보를 받아올지 ? 등의 기능을 정의하면 됨 즉 사용자가 원하는 작업을 하는 기능을 작성 기능을 정의하였다면 Response 객체로 반환 해 줄 수 있음 쉽게 정리하면 veiws.py는 사용자가 원하는 작업 ( 모델, 기타 등등 )을 수행 후 Template에 가서 적당..
-
장고 URLConf ( step.1 )web/Django 2019. 12. 5. 04:26
앞에서 설명한 기능들을 이제부터 차근차근 구현해 볼것이다. URLConf 즉 어떠한 url 요청이 들어오면 어떤 views.py의 함수를 실행시킬지 정의하는 단계이다. 아래 그림을 보자 빨간 박스는 URLConf 의 기능을 정의 해주는 ulrs.py가 있는 위치이다. 해당 프로젝트의 디렉터리에 urls.py 파일이 위치하고 있음 현재 진행 중인 프로젝트의 디렉터리이다. 위의 사진과 같이 확인이 가능하며 urls.py 파일에서 컨프를 해주기 위해서는 path 함수를 사용하며 사용시 필요한 인자값은 다음과 같다 # path( '클라이언트로 받는 요청 URL', views.py에 정의 되어있는 함수 ) URL을 매칭시킬 때에는 방법이 두가지가 있다 1. 해당 프로젝트 urls.py 파일에서 모두 매칭 시키기 ..
-
CGV 좌석 정보 제공 WEB 서비스 만들기web/Django 2019. 12. 5. 04:06
지금까지 한 작업들은 CGV에서 제공하는 좌석의 정보들을 PYTHON을 통해서 받아오고 가공해서 장고라는 웹 프레임워크에서 제공해주는 DB에 저장하는 것 까지 하였다 즉 좌석정보를 제공해주기 위해서 필요한 좌석정보들을 가지고 온 것이다. 이제부터는 본격적으로 장고를 사용해서 CGV 좌석 정보의 데이터를 웹 서비스로 제공해주려고 한다. 그러기 위해서는 가장 먼저 장고가 동작하는 기본적인 원리에 대해서 알아야 한다. 다음 그림을 보자 그림의 출처는 아래에 기제 장고가 동작하는 과정을 그림으로 나타낸 것이다. 1. 서버는 클라이언트로 부터 URL요청을 받는다. 2. 서버는 클라이언트로 부터 (동적) URL요청을 받으면 장고로 만들어진 서버 어플리케이션에게 해당 URL 요청을 넘겨줌 3. 장고로 만들어진 어플리..
-
장고 DB에 파싱한 내용 담기web/Django 2019. 12. 4. 20:35
지금 부터는 만들어둔 크롤러를 가지고 장고에 적용시켜 사용자가 원할 때 마다 해당 크롤러를 작동시켜 장고 DB (Models) 에 추가 적용하는 것을 해볼 것이다. 정리하면서 문제점이 보여 수정함 문제점 1. 마감 & 매진의 좌석의 경우 크롤러가 파싱하지 않기 때문에 해당 시간 대와 좌석 정보가 빈 값으로 있음 해결 : 파싱할 때 좌석의 마감 & 매진의 정보까지 불러와서 마감되거나 매진된 좌석을 정보를 확인 할 수 있음 Models 만들기 가장 먼저 해야할 일은 Models.py 에 가서 현재 내가 담고 싶은 객체들을 어떻게 담을지 정의 해 주는 것이다. 해당 작업은 데이터베이스에 테이블을 생성하고 해당 테이블에 어떻게 넣을지 정의하는 것이 라고 볼수 있으며 테이블은 class로 정의한다 다음과 같이 정..
-
장고 APP 생성 후 DB에 담을 준비web/Django 2019. 11. 28. 18:45
app 생성은 다음과 같은 startapp [ app이름 ] 으로 생성하면 된다 생성한뒤 디렉터리를 보면 새롭게 cgv라는 app 디렉터리가 생긴 것 을 볼 수 있다 이제 생성한 app 안에 있는 model.py를 이용해 데이터베이스의 구조를 잡아보려고 한다. 다음과 같이 model.py 파일 안에 클래스를 만들었다 이는 DB에 Cgv_data 라는 테이블을 생성하고 name, start_tim, end_time ........ dt_area 의 컬럼을 생성한 것이다. 이제부터는 크롤링하는 소스를 함수형태로 바꾸어서 import 해서 사용할 수 있도록 만든뒤 본격적으로 DB에 담는 것을 수행한다. from bs4 import BeautifulSoup from selenium import webdriver..
-
장고 설치 -> 프로잭트 생성 -> DB 생성web/Django 2019. 11. 28. 17:10
장고를 설치할 때 에는 가상환경에서 실행 할 것이기 때문에 가상환경 안에서 설치하면 됨 다음과 같이 가상환경에 접속해서 pip install django 명령어로 설치를 진행하면 됨 설치가 완료되었다면 새로운 프로잭트를 생성하면 된다 프로잭트 이름은 cgv_web 이라고 생성 다음과 같이 cgv_web, manage.py 라는 디렉터리와 파일이 생성된 것을 볼 수 있다 이제 생성한 프로잭트에서 DB에 변경사항을 확인하고 새로우 DB를 만들어 줄 것이다 makemigrations 명령어를 통해 변경사항을 확인 했더니 다음과 같이 변경사항이 없다고 나타났다. 이제 DB를 만들어 보자 migrate 명령어를 통해 성공적으로 DB가 만들어 진것을 볼 수 있다. 이제 runserver를 하고 로컬 PC의 8000..
-
에디터 & 깃 허브 설정web/Django 2019. 11. 28. 16:46
전에 크롤링한 CGV의 데이터를 가지고 최종적으로는 AWS에 인스턴스를 하나 생성해서 실제로 서비스를 구현하는 것이 목표이다 이때 웹 서버 애플리케이션의 역할을 해주는 장고라는 웹 프레이워크를 사용한다면 손쉽게 웹 서비스를 제공해 줄 수 있음 이제 부터는 간단한 장고의 환경 설정과 사용법을 익히면서 차근차근 나아가보려고 한다 가장먼저 해야 할 일은 장고 프로잭트를 가상환경 안에서 돌려주기 위해 환경 설정을 바꾸어 준다 -> 왜냐하면 나중에 인스턴스를 하나 받아서 서비스를 하려고 할 때 현재 나의 PC와 받은 PC가 다르기 때문에 동작하는데 있어서 문제가 생길 수 있기 때문에 가상환경 안에서 일단 APP을 만드는 것 가상환경에 접속 했다면 이제부터 git을 사용 github에 버전관리를 할 것 이다. 이때..