WEB/Django

1. Django 설치 및 프로젝트 생성

s_y_130 2021. 4. 30. 11:18

인공지능을 공부하면서 궁금해왔던 것이 ai는 어떻게 서비스를 제공하지? 하는 부분이였다.

AI를 공부하면서 플렛폼 개발과는 거리가 멀어지는 느낌을 갖긴 했지만 궁금한건 해결해야 하니깐...

 

물론 앱/웹에서 서비스를 제공하기 위해서 앱/웹 구조를 파악하고 서버/ 클라이언트를 공부하고 할게 많고 이 영역도 궁금하긴 하지만 일단 ai를 서비스하기 위한 Back-end 구축을 목표로 잡았다. (일단 간단하게 결과 값만 보자구...)

시중에 많은 자료, 블로그, 강의가 있는데 곳곳에서 따오고 이해한 부분을 적어가려고 한다.

 

일단 ML/DL 은 python이 압도적이다. 제공되는 라이브러리도 많고 매우 편리하다. (제공되는게 너무 많아서 다 공부해야하는 것도 문제지만...)

 

그리고 python은 웹 프레임워크로 Flask, Django를 제공한다. 이 둘중에서 난 Django를 통해 ai model을 배포해보고자 한다.


 

Django

배포를 하더라도 일단 Django가 뭔지는 알고 가야하지 않을까...

장고 자료 : https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Introduction 

                wikidocs.net/book/4223

해당 두 자료가 Django를 공부하기엔 좋은 자료인거 같다.

 

Django에 대한 기본적인 구조 및 개념은 해당 블로그에 따로 정리했다.

---------------(블로그)

 

 

실행 환경
anaconda prompt

 

1. 장고 설치

>> pip install django~=2.0.0

 

 

 

2. 장고 기본 골격 만들기

>> django-admin startpoint [디렉토리 이름]

     ex) django-admin startpoint mysite

 

manage.py : 는 스크립트인데, 사이트 관리를 도와주는 역할을 합니다. 이 스크립트로 다른 설치 작업 없이, 컴퓨터에서 웹 서버를 시작할 수 있다.

settings.py : 웹사이트 설정

urls.py      : urlresolver가 사용하는 패턴 목록 포함(우편배달부가 어느 곳으로 편지를 배달해야 하는지 판단 때 필요)

 

 

 

3. 설정 변경

mysite/settings.py 을 살짝 수정.

 

# 정확한 현재 시간 설정

TIME_ZONE = 'Asia/Seoul' 

# 정적파일 경로를 추가. css 다룰 때 필요

STATIC_URL = '/static/' 

# 해당 코드는 직접 추가해야함. STATIC_URL 밑에
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static') # ROOT 경로 생성. 나중에 편하게 사용하기 위함.

 

# DEBUGTrue이고 ALLOWED_HOSTS가 비어 있으면, 호스트는 ['localhost', '127.0.0.1', '[::1]']에 대해서 유효. 애플리케이션을 배포할 때 PythonAnywhere의 호스트 이름과 일치하지 않으므로 다음 설정.  PythonAnywhere 녀석들과 자기 자신만 허용 가능!

ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com'] 

 

 

4. DB 설정

해당 코드는 sqllite3 를 사용하기 위해 설정한거 같은데 db는 변경 가능하므로 다른 db 설정할 때도 똑같이 하면 되는지는 찾아보는 걸로...

 

 

DATABASES = {
    'default': {
        'ENGINE''django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


 

 

DB 생성을 위해 아래 명령어 수행

>> python manage.py migrate

 

 

5. 웹서버 시작

>> python manage.py runserver

127.0.0.1의 8000번 포트에서 잘 시작됐다고 나온다. Ctrl-C를 누르면 종료된다.

 

 

 

그럼 웹에서 127.0.0.1:8000을 접속하면 아래와 같은 화면이 나온다.

 

 

 

 


 

참고

tutorial.djangogirls.org/ko/django_installation/

tutorial.djangogirls.org/ko/django_start_project/