본문 바로가기
Python/Django(장고)

[Python/Django] 장고로 웹페이지 만들기 - 1

by 깐테 2021. 6. 30.

이번 포스트에서는 Django 라는 파이썬 웹 프레임워크를 이용하여 간단한 웹 페이지를 만들어 보려고 한다.

https://wikidocs.net/78004

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

Django와 관련된 내용이 위키독스에 잘 기술되어 있기 떄문에 해당 페이지를 참조하였다.

 


Django란?

Django는 2005년부터 시작된 Python 오픈소스 웹 프레임워크라고 한다.

장고와 비슷한 프레임 워크에는 Flask가 있는데, 플라스크는 주로 프론트엔드 쪽에 사용되며 Django의 경우 풀 스택(백엔드를 포함한) 프레임워크라고 알고 있다.

 

MVC 패턴이 아닌 MVT(Model, View, Template) 패턴의 프레임 워크이며 사용하다보면 Model에 DB를 정의해두면 장고의 템플릿 메소드를 이용하여 데이터베이스의 정보를 쉽게 끌어다 사용할 수 있다.

Model에서는 SQLite를 사용하며 외부 DB도 간단한 설정만 해주면 쉽게 사용할 수 있다.

 

장고의 공식 사이트는 아래 페이지를 참조하면 된다.

https://www.djangoproject.com/

 

The Web framework for perfectionists with deadlines | Django

Django Django makes it easier to build better Web apps more quickly and with less code. Get started with Django

www.djangoproject.com


Django 시작하기

먼저 Django를 사용하기 위해서는 당연하겠지만 파이썬은 필수적으로 설치되어 있어야 한다.

사용한 개발 도구는 VSCode를 사용하였는데, 파이참을 사용해도 상관은 없다. 좀 더 보기 쉽고 예쁜건 파이참이라고 생각하는데 본인은 그냥 Visual Studio Code를 사용하였다

 

2021.06.28 - [Python/여러가지] - [Python/기본] 파이썬 가상 개발환경 설정하기

 

[Python/기본] 파이썬 가상 개발환경 설정하기

파이썬으로 개발하시는 분들이라면 아마도 가상 개발환경을 많이들 설정하실거라고 생각한다. 개발에 들어가기 앞서, 파이썬 가상 개발환경을 설정해보려 한다. 파이썬 가상 개발환경(venv) 12.

kante-kante.tistory.com

2021.06.29 - [Python/여러가지] - [Python/기본] 파이썬 Anaconda(아나콘다) 가상환경 설치하기(+32비트)

 

[Python/기본] 파이썬 Anaconda(아나콘다) 가상환경 설치하기(+32비트)

2021.06.28 - [Python/여러가지] - [Python/기본] 파이썬 가상 개발환경 설정하기 [Python/기본] 파이썬 가상 개발환경 설정하기 파이썬으로 개발하시는 분들이라면 아마도 가상 개발환경을 많이들 설정하

kante-kante.tistory.com

 

지난 포스팅에서 설명했던 가상환경을 이용하도록 하자.

Anaconda, venv 뭐든 상관 없다. 일단 본인은 venv를 사용하도록 하겠다.

 

 

지난번에 만들어 두었던 가상 환경으로 접속하고, mkdir로 디렉토리를 하나 만들어 준다.

본인은 그냥 위키독스에 설명된 대로 mysite라는 이름으로 폴더를 만들었다.

 

pip install django 명령어를 이용하여 설치해준다.

 

django-admin startproject config .

해당 명령어를 입력해준다.

현재 디렉토리를 프로젝트 디렉토리로 만든다는 의미를 가지고 있다.

주의할 점은 config 뒤에 "." 이 붙어 있다는 것에 유의한다.

 

그럼 이렇게 config라는 폴더와 manage.py가 생성된다.

manage.py는 추후에 나오겠지만 장고 프로젝트를 실행할때 사용되므로 지우지 않도록 한다.

 


개발 서버 구동하기

 

 

python manage.py runserver

해당 명령어를 사용하여 로컬에서 서버를 구동시켜 본다.

utf 관련 오류가 뜨는 경우 PC의 이름을 바꾸거나, 실행 시, 호스트의 네임을 변경해주면 동작한다. 특히 PC의 이름이 한글로 되어있는 경우에 오류가 발생할 수 있는데, 영어로 바꿔주도록 하자.

 

뭔가 마이그레이션이 안됐다고 나오는 듯 한데, 이는 python manage.py migrate 명령어를 사용하여 해결할 수 있다.

 

기본 설정과 관련된 마이그레이션을 진행.

python manage.py migrate

항상 무언가를 진행하고 모델의 변경점이 생길 때 마다 마이그레이션 실행해주는 것이 좋다.

DB 및 인증 정립을 위한것도 있고, 추후 설명하겠지만 model에서 변경된 내용을 적용시키기 위해서 마이그레이션을 실행시킨다.

 

타임존 설정. 한국으로 변경해준다.

# config/settings.py

# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/

LANGUAGE_CODE = 'ko-kr'

TIME_ZONE = 'Asia/Seoul'

USE_I18N = True

USE_L10N = True

USE_TZ = True

시간 설정을 한국으로 변경해준다. config- settings.py 하단에 보면 시간 설정을 변경 할 수 있다.

 

다시 서버를 실행시키면 오류문구가 사라진 것을 확인할 수 있다.

이후 http://127.0.0.1:8000 을 직접 브라우저에 입력하거나 컨트롤 키를 누르고 표시된 로컬 IP 부분을 클릭하여 접속한다.

정상적으로 실행된 모습

정상적으로 잘 실행되는 것을 볼 수 있다.

 

다음 포스트에서는 기본적인 URL 연결과 모델에 관해 포스팅을 해보려고 한다.

 

반응형