프로그래밍/Python

예제로 Django 웹사이트 구축하기 - 1

챠우 2022. 3. 9. 16:16
728x90

오늘부터 간단한 Django를 이용한 웹사이트 구축하기를 시작하려고 합니다.

아직 환경이 구축되지 않은 분들은 아래 환경 구축하기를 확인하여 환경 구축 후 아래 내용을 확인하시길 바랍니다.

https://yavis57.tistory.com/21 

 

Ubuntu에 Django 개발 환경 세팅

오늘은 Ubuntu에 Django 개발 환경 세팅을 정리하려고 합니다. Python 설치 python은 최신 버전을 사용하는 것을 추천합니다. 최신 Django와 호환이 되지 않을 수 있습니다. 일단 Ubuntu에 python이 설치되었

yavis57.tistory.com

 

프로젝트 만들기

locallibrary라는 웹사이트를 만들겠습니다.

가상 환경을 활성화시키고 데이터 저장을 원하는 곳으로 이동 후 아래 명령어로 프로젝트를 만듭니다.

django-admin startproject locallibrary
cd locallibrary
 

Application 만들기

Application도 하나 만들겠습니다.

python3 manage.py startapp catalog
 

Application 등록하기

/locallibary/locallibary/settings.py파일을 열고 INSTALLED_APPS가 있는 곳을 찾습니다.

그리고 아래 내용 중 맨 밑줄을 추가하고 저장합니다.

추가된 줄은 /locallibrary/catalog/apps.py 안에 있는 class 이름입니다.

Database 설정

Database를 설정하는 부분입니다.

sqlite3를 사용할 예정이라서 아직은 설정할 필요가 없습니다.

추후 다른 Database를 사용할 것이라면 아래 부분을 수정해야 합니다.

추가 설정

TIME_ZONE은 서울로 설정합니다.

TIME_ZONE에 사용할 수 있는 값은 아래 사이트의 "TZ database name"을 사용할 수 있습니다.

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones 

 

List of tz database time zones - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Wikimedia list article World map showing time zones from the tz database version 2017a This is a list of time zones from release 2021e of the tz database.[1] UTC offsets (columns 6 and

en.wikipedia.org

 

URL 매핑

/locallibary/locallibary/urls.py파일을 열고 urlpatterns를 추가해야 합니다.

1. include를 사용하기 위해서 include를 import합니다.

2. RedirectView를 사용하기 위해서 RedirectView를 import합니다.

3. settings값과 static을 사용하기 위해서 import합니다.

4. 첫 번째 추가된 것은 www.xxxx.com/catalog으로 시작하는 요청이 오면 catalog/urls.py로 연결하겠다는 의미입니다.

5. 두 번째 추가된 것은 www.xxxx.com으로 요청이 오면 www.xxxx.com/catalog로 연결하겠다는 의미입니다.

6. 세 번째 추가된 것은 Django는 CSS, JavaScript나 image와 같은 static파일을 기본적으로 지원하지 않습니다. 그래서 static 파일을 지원하기 위해서 추가한 것입니다.

마지막으로 catalog 폴더에 urls.py파일을 생성하고 아래와 같이 빈 urlpatterns를 추가합니다.

Database Migration

변경한 내용을 적용하기 위해서 Database Migration을 실행해야 합니다.

python3 manage.py makemigrations
python3 manage.py migrate
 

처음 명령어는 프로젝트에 설치된 모든 어플리케이션에 대한 migration을 생성합니다.

그러나 적용은 되지 않습니다.

혹시 구문에 오류가 있다면 이 단계에서 수정해야 합니다.

두 번째 명령어가 실제 적용되는 명령어입니다.

웹사이트 실행

python3 manage.py runserver
 

서버를 실행하고 웹브라우져로 http://127.0.0.1:8000으로 접속합니다.

접속하면 위에서 설정한 것과 같이 catalog로 redirect된 것을 확인할 수 있습니다.

아래와 같이 에러화면이 나올 것인데 아직 페이지를 만들지 않아서 예상된 결과입니다.

여기까지 했다면 다음 단계로 넘어가시면 됩니다.

출처 - https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/skeleton_website 

 

장고 튜토리얼 강좌 2 : 뼈대 사이트 만들기 - Web 개발 학습하기 | MDN

장고 튜토리얼의 두 번째 기사에서는 웹 사이트 프로젝트의 기본 뼈대(skeleton)를 만들고, 사이트의 특성에 맞춰 설정, 경로, 모델, 뷰 및 템플릿을 다루는 방법을 보여줍니다. 

developer.mozilla.org

 

댓글수0