Django은 안전하고 유지 관리가 쉬운 웹사이트를 신속하게 개발할 수 있도록 지원하는 고성능 웹 프레임워크입니다. 이는 무료 오픈 소스 프레임워크로, Python으로 작성되었습니다. Django는 성능, 보안, 확장성, 이식성, 유지 관리성 등과 같은 추가적인 기능으로도 인기가 높습니다.
이 가이드는 에서 Django를 설치하고 간단한 웹 앱을 설정하는 방법을 보여줍니다.Ubuntu 20.04.
Ubuntu에서의 Django
시스템에 Django를 설치하는 방법은 여러 가지가 있습니다. 각 방법은 서로 다른 목적에 적합합니다.
- 전역 설치: Django는 공식 Ubuntu 패키지 저장소에서 쉽게 사용할 수 있습니다. APT 패키지 관리자를 사용하여 직접 설치할 수 있습니다. 이 설치 방법은 간단하지만 다른 방법에 비해 유연성이 떨어집니다. 또한 프레임워크의 최신 버전이 포함되어 있지 않을 수 있습니다.
- 가상 환경에서
pip를 사용하여 설치하기:venv및virtualenv와 같은 도구를 사용하여 가상 환경을 구축하고 여기에 Django를 설치할 수 있습니다. 이 방식의 장점은 전체 시스템에 영향을 미치지 않는다는 것입니다. 또한 프로젝트별 맞춤 설정 및 패키지가 가능합니다. Django로 작업할 때 가장 실용적이고 권장되는 방법입니다. - Django 개발 버전 설치: Django는 GitHub에서도 사용할 수 있습니다. 최신 개발 버전에는 최신 기능/수정 사항이 포함되어 있습니다. 그러나 잠재적인 성능 및 안정성 문제가 발생할 수 있습니다.
이 가이드는 올바르게 구성된 Ubuntu 서버가 있다고 가정합니다. 아직 Ubuntu 서버가 없다면 다음 가이드를 따르십시오: 나만의 Ubuntu 서버를 설정하는 방법.
Ubuntu에 Django 설치하기
1. 패키지 관리자를 사용한 전역 설치
Django는 공식 패키지 저장소에서 쉽게 사용할 수 있습니다. 설치 과정은 매우 간단합니다. 먼저 APT 패키지 인덱스를 업데이트합니다:
|
1 |
$ sudo apt update |
다음으로 설치된 Python 버전을 확인합니다. 기본적으로 Ubuntu 20.04에는 Python 3.8이 포함되어 있습니다:
|
1 |
$ python3 -V |
이제 Django를 설치할 준비가 되었습니다:
|
1 |
$ sudo apt install python3-django |
설치가 성공적으로 완료되었는지 확인할 수 있습니다. 다음 명령을 실행하여 Django 버전을 확인합니다:
|
1 |
$ django-admin --version |
이를 통해 Django가 성공적으로 설치되었음을 확인할 수 있습니다. Django 버전이 최신 안정 릴리스가 아닐 수 있습니다. 이 글을 쓰는 시점에서 사용 가능한 최신 Django 버전은 v3.2.5 (LTS release).
2. pip를 사용하여 Django 설치하기 (가상 환경에서)
이 방법은 가장 유연하기 때문에 Django를 설치할 때 권장되는 방법입니다. 우리는 venv 모듈을 사용하여 가상 환경을 생성할 것입니다. 이 모듈은 Python 3 표준 라이브러리의 일부로 제공됩니다. 이를 통해 시스템의 다른 부분에 변경을 주지 않고 가상 Python 환경을 만들고 Python 패키지를 설치할 수 있습니다. 고유한 구성을 가진 수많은 가상 환경을 가질 수 있습니다.
시작해 보겠습니다. 먼저 Python pip 및 venv 모듈이 필요합니다:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
모듈이 성공적으로 설치되었습니다. 이제 가상 환경을 위한 전용 디렉토리를 생성합니다:
|
1 |
$ mkdir -pv ~/sample_project |
다음으로 활성 디렉토리를 새 디렉토리로 변경합니다:
|
1 |
$ cd ~/sample_project |
이제 venv가 디렉토리 내에 가상 환경을 구축하도록 지시할 수 있습니다. 환경 이름은 설명적인 이름을 사용하는 것이 좋습니다:
|
1 |
$ python3 -m venv sample_project_env |
The venv 모듈은 프로젝트 디렉토리 내의 격리된 디렉토리 구조에 Python 및 pip의 복사본을 생성합니다. 여기에는 모든 패키지가 설치되는 파일 계층 구조가 포함된 선택한 이름의 디렉토리가 포함됩니다.
추가 패키지를 설치하려면 환경을 활성화해야 합니다:
|
1 |
$ source sample_project_env/bin/activate |
셸 프롬프트가 다음과 같이 변경되어야 합니다:
가상 환경 내에서 이제 Django를 설치할 수 있습니다:
|
1 |
$ pip install django |
설치가 성공적으로 완료되었는지 확인합니다:
|
1 |
$ django-admin --version |
가상 환경을 종료하려면 다음 명령어를 실행하세요:
|
1 |
$ deactivate |
3. Django 개발 버전 설치하기
Django 개발 버전은 GitHub에서 직접 다운로드할 수 있습니다. 가상 환경 내에서 이를 복제하고 배포하기 위해 git을 사용할 것입니다.
먼저 필요한 도구가 설치되어 있는지 확인합니다. 다음 명령어로 venv 및 pip (Python 모듈) 및 git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
다음으로 Django 저장소를 복제합니다. 여기에는 (안정성을 희생하는 대신) 모든 최신 기능과 버그 수정이 포함되어 있습니다. 이 저장소를 다음 디렉터리에 복제합니다: ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
현재 디렉터리를 복제된 저장소로 변경합니다:
|
1 |
$ cd ~/django-dev |
그 후, Python venv 모듈을 사용하여 가상 환경을 구축합니다:
|
1 |
$ python3 -m venv sample_project_env |
그런 다음 가상 환경을 활성화합니다:
|
1 |
$ source sample_project_env/bin/activate |
이제 GitHub에서 복제한 Django를 설치할 수 있습니다. 여기서 -e 플래그는 버전 관리 시스템에서 설치할 수 있도록 하는 “편집 가능(editable)” 모드를 의미합니다:
|
1 |
$ pip install -e ~/django-dev |
마지막으로 설치를 확인합니다:
|
1 |
$ django-admin --version |
샘플 Django 프로젝트
지금까지 시스템에 Django를 설치하는 방법을 설명했습니다. 이제 Django를 실제로 작동시켜 볼 차례입니다. 이 섹션에서는 샘플 Django 프로젝트를 생성하는 방법을 보여드리겠습니다. 샘플 프로젝트는 가상 환경 내에 생성됩니다.
샘플 프로젝트를 위한 디렉터리를 생성합니다:
|
1 |
$ mkdir -pv ~/django-test |
현재 디렉터리를 프로젝트 디렉터리로 변경합니다:
|
1 |
$ cd ~/django-test |
그런 다음 venv 모듈을 사용하여 Python 가상 환경을 구축합니다:
|
1 |
$ python3 -m venv dummy_env |
가상 환경이 준비되었습니다. 환경을 활성화합니다:
|
1 |
$ source dummy_env/bin/activate |
가상 환경 내에 Django를 설치할 수 있습니다:
|
1 |
$ pip install django |
We can use django-admin을 사용하여 프로젝트 기반을 구축할 수 있습니다. 여기서 샘플 프로젝트의 이름은 sampleproject로 지정됩니다. 프로젝트는 필요한 모든 파일을 포함하는 가상 환경 디렉터리 내의 디렉터리를 갖게 됩니다.
manage.py: 다양한 Django 관련 작업을 관리하는 관리 스크립트입니다.샘플 프로젝트: 실제 프로젝트 코드가 포함된 프로젝트 이름의 디렉터리입니다.
하지만 너무 많은 중첩 디렉터리가 복잡하게 얽히는 것은 원치 않습니다. 따라서 Django가 현재 디렉터리에 파일과 디렉터리를 생성하도록 지정합니다:
|
1 |
$ django-admin startproject sampleproject . |
다음 단계는 데이터베이스를 마이그레이션하는 것입니다. 기본적으로 Django는 SQLite. 마이그레이션은 Django 모델에 변경된 사항을 데이터베이스 스키마에 적용합니다. 데이터베이스를 마이그레이션하려면 다음 명령어를 실행하세요:
|
1 |
$ python manage.py migrate |
마지막으로 Django 관리자 인터페이스를 사용하기 위해 관리자 사용자를 생성합니다. 다음 명령어를 실행하세요:
|
1 |
$ python manage.py createsuperuser |
사용자의 사용자 이름, 이메일 주소 및 비밀번호를 묻는 메시지가 표시됩니다.
Django 설정의 ALLOWED_HOSTS
애플리케이션을 테스트하려면 Django 설정에서 특정 지시문을 수정해야 합니다. 텍스트 편집기에서 settings.py 파일을 엽니다:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
우리가 수정할 지시문은 ALLOWED_HOSTS입니다. 이 지시문은 Django 인스턴스에 연결할 수 있는 주소 또는 도메인 이름 목록을 정의합니다. 목록에 없는 호스트로부터 들어오는 모든 호스트 요청은 예외를 발생시킵니다. 이는 특정 유형의 보안 취약점을 방지하기 위해 Django에서 필수적으로 요구하는 사항입니다.
대괄호 안에 Django 서버와 관련된 IP 주소 또는 도메인 이름을 나열합니다. 각 항목은 따옴표로 묶고 쉼표(,)로 구분하여 나열합니다. 지시어의 구조는 다음과 같습니다:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
목록을 저장하고 편집기를 닫습니다.
서버 테스트
이제 Django 배포 서버를 시작할 수 있습니다. 새로운 Django 프로젝트가 표시됩니다. 이는 개발 목적으로만 사용해야 합니다. 본격적인 배포를 하려면 다음을 따르세요. Django 공식 배포 가이드.
개발 서버에 액세스하기 전에 방화벽이 다음 포트에 대한 액세스를 허용하는지 확인하세요: 8000. 만약 Ubuntu 서버 설정 가이드를 따르는 경우, UFW에 다음 포트를 열도록 지시합니다: 8000 (통신용):
|
1 |
$ sudo ufw allow 8000 |
UFW는 모든 주요 Linux 배포판에서 사용할 수 있는 일반적인 방화벽입니다. 다음은 UFW의 다양한 기본 사항을 설명하는 가이드입니다. 이제 개발 서버를 실행할 준비가 되었습니다. 서버를 시작합니다:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
다음으로, 웹 브라우저에서 다음 포트의 서버 IP 주소로 접속합니다: 8000. Django 시작 페이지로 이동합니다:
|
1 |
$ http://<server_ip>:8000 |
Django 관리자 패널에 액세스하려면 URL 끝에 /admin/을 추가합니다:
|
1 |
$ http://<server_ip>:8000/admin/ |
관리자 섹션에 액세스하려면 관리자 사용자 이름과 비밀번호를 입력하세요:
터미널에서 CTRL-C를 눌러 서버를 중지할 수 있습니다.
마치며
Django 프로젝트는 보다 완전한 사이트를 설계하기 위한 구조적 기반을 제공합니다. 웹 애플리케이션을 구동하는 데 필요한 주요 도구를 제공합니다. Django와 같은 웹 프레임워크를 활용하면 프로젝트 개발 속도를 높이고 애플리케이션의 고유한 측면에 더 많은 시간을 할애할 수 있습니다.
즐거운 컴퓨팅 되세요!












댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.