소개
Django는 동적 웹 사이트 및 응용 프로그램을 개발하기위한 전체 기능의 Python 웹 프레임 워크입니다. Django를 사용하면 Python 웹 응용 프로그램을 신속하게 생성하고 프레임 워크가 상당부분의 번거 로움을 처리하도록 의존 할 수 있습니다.
이 가이드에서는 Ubuntu 22.04 서버에 Django를 설치하고 실행합니다. 설치 후에는 사이트의 기초로 사용할 새 프로젝트를 시작합니다.
다른 방법
개발 환경을 구성하는 방법 및 필요에 따라 Django를 설치하는 다양한 방법이 있습니다. 이들은 각각 다른 장점을 가지고 있으며 한 방법이 다른 방법보다 특정 상황에 더 적합할 수 있습니다.
일부 다른 방법에는 다음이 포함됩니다:
- 패키지에서 전역 설치: 공식 Ubuntu 저장소에는 전통적인
apt
패키지 관리자를 사용하여 설치 할 수있는 Django 패키지가 포함되어 있습니다. 이 방법은 간단하지만 다른 방법보다는 유연하지 않습니다. 또한 저장소에 포함된 버전은 프로젝트에서 제공하는 공식 버전보다 뒤쳐질 수 있습니다. - 가상 환경에서
pip
로 설치:venv
및virtualenv
와 같은 도구를 사용하여 프로젝트에 대한 독립적인 환경을 생성할 수 있습니다. 가상 환경을 사용하면 Django를 프로젝트 디렉토리에 설치하고 시스템 전체에 영향을 미치지 않고 다른 프로젝트별 사용자 정의 및 패키지를 설치할 수 있습니다. 이는 일반적으로 Django 작업에 가장 실용적이고 권장되는 방법입니다. git
으로 개발 버전 설치: 안정 버전 대신 최신 개발 버전을 설치하려는 경우 Git 저장소에서 코드를 얻을 수 있습니다. 최신 기능/수정 사항을 얻으려면 필요하며, 가상 환경 내에서 수행할 수 있습니다. 그러나 개발 버전은 더 안정된 버전과 동일한 안정성 보증을 제공하지 않을 수 있습니다.
전제 조건
시작하기 전에 Ubuntu 22.04 서버에 sudo 권한이 있는 비 루트 사용자가 있어야 합니다. 이를 설정하려면 Ubuntu 22.04 초기 서버 설정 가이드를 따르세요.
패키지에서 전역 설치
Django를 Ubuntu 저장소를 사용하여 설치하려면 프로세스가 매우 간단합니다.
먼저 로컬 패키지 인덱스를 다음 명령을 사용하여 업데이트하십시오.:
다음으로 설치된 Python 버전을 확인하십시오. 22.04는 기본적으로 Python 3.10을 제공하며 다음과 같이 입력하여 확인할 수 있습니다:
다음과 같은 출력이 표시되어야 합니다:
OutputPython 3.10.4
그런 다음 Django를 설치하십시오:
설치가 성공적으로 완료되었는지 테스트할 수 있습니다:
Output3.2.12
이것은 소프트웨어가 성공적으로 설치되었다는 것을 의미합니다. 또한 Django 버전이 최신 안정 버전이 아닌 것을 알 수 있습니다. 소프트웨어 사용 방법에 대해 자세히 알아보려면 샘플 프로젝트 생성 방법을 참조하십시오.
가상 환경에서 pip로 설치
시스템에 Django를 설치하는 가장 유연한 방법은 가상 환경 내에서 설치하는 것입니다. 우리는 표준 Python 3 라이브러리의 일부인 venv 모듈을 사용하여 생성할 가상 환경에 Django를 설치하는 방법을 보여 드리겠습니다. 이 도구를 사용하면 시스템의 나머지 부분에 영향을주지 않고 가상 Python 환경을 생성하고 Python 패키지를 설치할 수 있습니다. 따라서 다른 프로젝트의 요구 사항과 충돌하지 않는 프로젝트별로 Python 패키지를 선택할 수 있습니다.
로컬 패키지 인덱스를 새로 고침하여 시작하겠습니다:
파이썬 설치된 버전을 확인하세요:
OutputPython 3.10.4
다음으로, 우분투 저장소에서 pip
와 venv
를 설치합시다:
이제 새 프로젝트를 시작할 때마다 해당 프로젝트를 위한 가상 환경을 만들 수 있습니다. 새 프로젝트 디렉토리를 만들고 이동하여 시작하세요:
다음으로, 해당 프로젝트 디렉토리 내에서 사용할 수 있는 python
명령을 사용하여 가상 환경을 생성하세요. 우리는 가상 환경을 my_env
이라고 부르겠지만, 설명적인 이름을 지어야 합니다:
이렇게 하면 프로젝트 디렉토리 내에 독립적인 Python 및 pip
버전이 설치되어 격리된 디렉토리 구조가 생성됩니다. 선택한 이름으로 디렉토리가 생성되며, 여기에 패키지가 설치될 파일 계층 구조가 저장됩니다.
격리된 환경에 패키지를 설치하려면 다음을 입력하여 활성화해야 합니다:
프롬프트가 변경되어 이제 가상 환경 내에 있다는 것을 나타내야 합니다. 예를 들어 (my_env)username@hostname:~/newproject$
와 같이 보일 것입니다.
새 환경에서는 pip
를 사용하여 Django를 설치할 수 있습니다. Python 버전에 관계없이, 가상 환경 내에서는 pip
를 그냥 pip
로 호출해야 합니다. 또한 로컬로 설치하므로 sudo
를 사용할 필요가 없습니다:설치를 확인하려면 다음을 입력하세요:
여기서 표시된 버전과 다를 수 있음을 유의하세요.
Output4.0.4
가상 환경을 빠져나오려면 시스템의 어디에서든 deactivate
명령을 입력해야합니다:
프롬프트는 일반적인 표시로 되돌아갑니다. 프로젝트를 다시 작업하려면 프로젝트 디렉토리로 이동하여 활성화하십시오:
Git으로 개발 버전 설치
개발 버전의 Django가 필요한 경우 Django를 Git 저장소에서 다운로드하고 설치할 수 있습니다. 가상 환경 내에서 이를 수행해 봅시다:
먼저 로컬 패키지 인덱스를 업데이트합니다:
설치된 Python 버전을 확인합니다:
OutputPython 3.10.4
다음으로, 공식 저장소에서 pip
와 venv
를 설치합니다:
다음 단계는 Django 저장소를 복제하는 것입니다. 릴리스 간에 이 저장소에는 가능한 안정성의 대가로 더 최신 기능 및 버그 수정이 있을 수 있습니다. 홈 디렉토리 내의 ~/django-dev
라는 디렉토리에 저장소를 복제할 수 있습니다. 다음을 입력하여 이 디렉토리로 이동합니다:
이 디렉토리로 변경합니다:
설치된 Python 버전과 호환되는 python
명령을 사용하여 가상 환경을 만듭니다:
활성화합니다:
다음으로, 리포지토리를 pip
을 사용하여 설치할 수 있습니다. -e
옵션은 “편집 가능” 모드로 설치하며, 이것은 버전 관리에서 설치할 때 필요합니다:
설치가 성공적으로 완료되었는지 확인하려면 다음을 입력합니다:
Output4.0.4.2
다시 말하지만, 표시된 버전이 여기에 표시된 것과 일치하지 않을 수 있습니다.
이제 가상 환경에 최신 버전의 장고가 설치되어 있습니다.
샘플 프로젝트 생성
장고가 설치되면 프로젝트를 만들기 시작할 수 있습니다. 가상 환경을 사용하여 프로젝트를 생성하고 개발 서버에서 테스트하는 방법을 알아보겠습니다.
먼저, 프로젝트용 디렉터리를 만들고 해당 디렉터리로 이동합니다:
다음으로, 가상 환경을 생성합니다:
환경을 활성화합니다:
장고를 설치합니다:
프로젝트를 빌드하려면 django-admin
과 startproject
명령을 사용할 수 있습니다. 이 프로젝트를 djangoproject
라고 하겠지만, 다른 이름으로 바꿀 수 있습니다. startproject
는 현재 작업 디렉터리 내에 디렉터리를 만듭니다:
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
그러나 너무 많은 중첩된 디렉터리를 가지고 싶지 않으므로, Django에게 관리 스크립트와 내부 디렉터리를 현재 디렉터리에 배치하도록 지시하겠습니다 (끝에 점을 참고하세요):
데이터베이스를 이전하려면 (이 예제에서는 SQLite가 기본적으로 사용됨) manage.py
와 함께 migrate
명령을 사용합시다. 마이그레이션은 Django 모델에 대한 수행한 변경 사항을 데이터베이스 스키마에 적용합니다.
데이터베이스를 마이그레이션하려면 다음을 입력하세요:
다음과 같은 출력이 표시됩니다:
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
마지막으로, 관리자 사용자를 생성하여 Django 관리 인터페이스를 사용할 수 있도록 합시다. 이를 위해 createsuperuser
명령을 사용합시다:
사용자 이름, 이메일 주소 및 사용자의 비밀번호를 입력하라는 프롬프트가 표시됩니다.
Django 설정에서 ALLOWED_HOSTS 수정
애플리케이션을 성공적으로 테스트하려면 Django 설정 중 하나의 지시문을 수정해야 합니다.
다음을 입력하여 설정 파일을 엽니다:
내부에서 ALLOWED_HOSTS
지시문을 찾으십시오. 이는 Django 인스턴스에 연결하는 데 사용될 수 있는 주소나 도메인 이름 목록을 정의합니다. 이 목록에 없는 Host 헤더를 가진 들어오는 요청은 예외를 발생시킵니다. Django는 특정 클래스의 보안 취약점을 방지하기 위해 이것을 설정해야 합니다.
대괄호 안에 Django 서버와 관련된 IP 주소나 도메인 이름을 나열하십시오. 각 항목은 따옴표로 묶여야 하며 쉼표로 구분하여 별도의 항목으로 나열되어야 합니다. 전체 도메인 및 하위 도메인에 대한 요청을 원하는 경우 항목 앞에 점을 추가하십시오:
작업을 마치면 파일을 저장하고 편집기를 종료하십시오.
개발 서버 테스트
사용자가 있는 경우 Django 개발 서버를 시작하여 새로운 Django 프로젝트가 어떻게 보이는지 확인할 수 있습니다. 이것은 개발 목적으로만 사용해야 합니다. 배포할 준비가 되면 Django의 배포 지침을 주의 깊게 따르십시오.
개발 서버를 시도하기 전에 방화벽에서 적절한 포트를 열었는지 확인하십시오. 초기 서버 설정 가이드를 따르고 UFW를 사용하는 경우 다음을 입력하여 포트 8000
을 열 수 있습니다:
개발 서버를 시작합니다.
서버의 IP 주소 뒤에 :8000
을(를) 웹 브라우저에서 방문하십시오:
http://your_server_ip:8000
다음과 같이 보이는 것이 나타날 것입니다:
관리자 인터페이스에 액세스하려면 URL의 끝에 /admin/
을(를) 추가하십시오:
http://your_server_ip:8000/admin/
이렇게 하면 로그인 화면으로 이동합니다:
방금 생성한 관리자 사용자 이름과 비밀번호를 입력하면 사이트의 주요 관리자 섹션에 액세스할 수 있습니다:
Django 관리자 인터페이스 사용에 대한 자세한 정보는 “Django 관리자 인터페이스를 활성화하고 연결하는 방법”을(를) 참조하십시오.
기본 사이트를 살펴본 후에는 터미널에서 CTRL-C
를 입력하여 개발 서버를 중지할 수 있습니다:
생성한 Django 프로젝트는 더 완전한 사이트를 디자인하기 위한 구조적 기반을 제공합니다. 응용 프로그램을 빌드하고 사이트를 사용자 정의하는 방법에 대한 자세한 정보는 Django 문서를 확인하십시오:
결론
이제 Ubuntu 22.04 서버에 Django가 설치되어 강력한 웹 응용 프로그램을 생성하는 데 필요한 주요 도구를 제공합니다. 또한 새 프로젝트를 시작하고 개발 서버를 시작하는 방법을 알고 있어야 합니다. Django와 같은 완전한 웹 프레임워크를 활용하면 개발 속도를 높일 수 있으며 응용 프로그램의 고유한 측면에만 집중할 수 있습니다.
만약 Django와 함께 작업하는 데 대해 더 많은 정보를 원한다면, 모델 및 뷰와 같은 내용에 대한 심층적인 토론을 보려면 저희의 Django 개발 시리즈를 참조하십시오.