소개
Django는 파이썬으로 작성된 무료 오픈 소스 웹 프레임워크로, 확장성, 재사용성 및 빠른 개발이라는 핵심 원칙을 갖고 있습니다. 또한 프레임워크 수준의 일관성과 느슨한 결합으로 알려져 있어 각 구성 요소가 서로 독립적일 수 있습니다.
이 튜토리얼에서는 우분투 22.04 서버에 개발 목적의 Django 환경을 설정할 것입니다. 라이브 웹사이트의 경우 데이터베이스에 연결하고, 도메인 이름을 설정하고, 보안 계층을 추가하는 등 추가적인 고려 사항이 있습니다. Django를 사용하여 작성하는 동안 도움이 되는 다양한 튜토리얼이 있습니다.Django 태그를 포함하여 지원할 수 있습니다.
필수 조건
이 튜토리얼을 완료하기 위해 다음이 필요합니다:
-
sudo
권한이 있는 비 루트 사용자 계정이 필요합니다. 이는 우분투 22.04 초기 서버 설정 튜토리얼을 따라 완료할 수 있습니다. -
Python 3을 가상 프로그래밍 환경으로 설정합니다. 이 설정은 Python 3 설치 가이드를 통해 할 수 있습니다.
단계 1 — Django 설치
Django를 설치하는 여러 가지 방법이 있습니다. 가상 환경 내에서 Python 패키지 관리자 pip를 사용하여 설치할 수 있습니다.
서버의 홈 디렉터리에서 Django 애플리케이션을 포함할 디렉터리를 만듭니다. 다음 명령을 실행하여 django-apps
라는 디렉터리를 만들거나 원하는 다른 이름을 선택합니다. 그런 다음 해당 디렉터리로 이동합니다.
django-apps
디렉터리 내에서 가상 환경을 생성합니다. 일반적으로 env
와 같은 일반적인 이름을 사용하지만, 프로젝트와 자신에게 의미 있는 이름을 사용해야 합니다.
이제 다음 명령을 사용하여 가상 환경을 활성화합니다:
활성화된 것을 알 수 있습니다. 접두사가 변경되면 (env)
다음과 같이 보일 것입니다. 디렉토리에 따라 다음과 비슷한 결과가 나타납니다:
환경 안에서 pip를 사용하여 Django 패키지를 설치합니다. Django를 설치하면 Django 애플리케이션을 만들고 실행할 수 있습니다.
설치가 완료되면 Django 설치를 확인하려면 다음과 같은 버전 확인을 실행합니다:
다음 또는 유사한 결과가 생성됩니다:
Output4.0.6
서버에 Django가 설치되었으므로 모든 것이 올바르게 작동하는지 확인하기 위해 테스트 프로젝트를 생성할 수 있습니다. 뼈대 웹 애플리케이션을 만들 것입니다.
단계 2 — 방화벽 설정 조정
초기 서버 설정 자습서를 따랐거나 서버에 방화벽이 실행 중인 경우 서버의 방화벽에서 사용할 포트를 열어야 합니다. UFW 방화벽을 사용하는 경우 다음 명령을 사용하여 포트를 열 수 있습니다:
만약 DigitalOcean 방화벽을 사용하고 있다면 들어오는 규칙에서 HTTP를 선택할 수 있습니다. DigitalOcean 방화벽에 대한 자세한 내용 및 규칙을 만드는 방법에 대해서는 들어오는 규칙을 수정하여 확인할 수 있습니다.
단계 3 — 프로젝트 시작
django-admin
을 사용하여 응용 프로그램을 생성할 수 있습니다. 이것은 Python에서 관리 작업을위한 명령 줄 유틸리티입니다. 그런 다음 startproject
명령을 사용하여 테스트 웹 사이트의 프로젝트 디렉토리 구조를 만들 수 있습니다.
참고: django-admin startproject <프로젝트명>
명령을 실행하면 프로젝트 디렉토리와 프로젝트 패키지가 <프로젝트명>
으로 이름이 지정되며 해당 명령이 실행된 디렉토리에 프로젝트가 생성됩니다. 선택적으로 <목적지>
매개 변수를 제공하면 Django는 제공된 목적지 디렉토리를 프로젝트 디렉토리로 사용하고 그 안에 manage.py
와 프로젝트 패키지를 생성합니다.
이제 방금 생성된 프로젝트 파일을 살펴볼 수 있습니다. testsite
디렉토리로 이동한 다음 해당 디렉토리의 내용을 나열하여 생성된 파일을 확인할 수 있습니다:
Outputmanage.py testsite
당신은 이 디렉토리에 manage.py
라는 파일과 testsite
라는 폴더가 있는 것을 알 수 있습니다. manage.py
파일은 django-admin
과 유사하며 프로젝트의 패키지를 sys.path
에 추가합니다. 또한 이것은 DJANGO_SETTINGS_MODULE
환경 변수를 프로젝트의 settings.py
파일을 가리키도록 설정합니다.
터미널에서 less
명령을 사용하여 manage.py
스크립트를 볼 수 있습니다:
스크립트를 읽는 것이 끝나면 파일 보기를 종료하려면 q
를 누르십시오.
이제 다른 파일을 볼 수 있도록 testsite
디렉토리로 이동하십시오:
그런 다음 다음 명령을 사용하여 디렉토리의 내용을 나열하십시오:
네 개의 파일이 표시됩니다:
Output__init__.py asgi.py settings.py urls.py wsgi.py
각 파일에 대해 설명을 읽을 수 있습니다:
__init__.py
는 Python 프로젝트의 진입점으로 작동합니다.asgi.py
는 선택적으로 Asynchronous Server Gateway Interface 또는 ASGI에 배포를 위한 구성을 포함하며 동기식 및 비동기식 앱을 위한 표준을 제공하며 WSGI(아래 참조)의 후속 버전으로 간주됩니다.settings.py
는 Django 설치의 구성을 설명하고 Django가 어떤 설정을 사용할 수 있는지 알려줍니다.urls.py
는 URL을 해당views
에 라우팅 및 매핑하는urlpatterns
목록을 포함합니다.wsgi.py
는 웹 서버 게이트웨이 인터페이스 또는 WSGI의 구성을 포함하며 동기식 Python 앱에 대한 표준을 제공합니다.
참고: 기본 파일이 생성되었지만, 배포 요구 사항에 맞게 asgi.py
또는 wsgi.py
파일을 언제든지 조정할 수 있습니다.
단계 4 — Django 구성
이제 runserver
명령을 실행하여 지정된 호스트 및 포트에서 서버를 시작하고 웹 사이트를 볼 수 있습니다.
settings.py
파일에서 ALLOWED_HOSTS
목록에 서버 IP 주소를 추가해야 합니다. 해당 파일은 ~/test_django_app/testsite/testsite/
에 있습니다.
Django 문서에 명시된 대로, ALLOWED_HOSTS
변수에는 “이 Django 사이트에서 제공할 수 있는 호스트/도메인 이름을 나타내는 문자열 목록이 포함됩니다. 이는 HTTP Host 헤더 공격을 방지하는 보안 조치이며, 이러한 공격은 보이는 것처럼 안전한 웹 서버 구성에서도 발생할 수 있습니다.”
선호하는 텍스트 편집기를 사용하여 IP 주소를 추가할 수 있습니다. 예를 들어, nano
를 사용하는 경우 다음 명령을 실행하십시오:
한 번 명령을 실행한 후, 문서의 ALLOWED_HOSTS
섹션으로 이동하여 서버의 IP 주소를 단일 또는 이중 따옴표 내부의 대괄호 안에 추가하십시오.
변경 사항을 저장하고 나노를 종료하려면 CTRL
+ x
키를 누르고 나서 y
키를 누르세요. 그런 다음, 웹 앱에 브라우저를 통해 액세스할 수 있습니다.
마지막으로, Django 관리 인터페이스를 사용할 수 있도록 관리자 사용자를 만듭니다. 이를 수행하려면 createsuperuser
명령을 사용합니다:
사용자 이름, 이메일 주소 및 사용자의 암호를 입력하라는 메시지가 표시됩니다.
단계 5 — Django 웹 앱에 액세스하기
구성이 완료되었으면, manage.py
가 있는 디렉터리로 다시 이동하여 주십시오:
이제 다음 명령을 실행하십시오. your-server-ip 텍스트를 서버의 IP로 대체합니다:
마침내 아래 링크로 이동하여 스켈레톤 웹 사이트가 어떻게 보이는지 확인할 수 있습니다. 서버의 실제 IP로 강조된 텍스트를 다시 바꿔주세요:
http://your-server-ip:8000/
페이지가 로드되면 다음이 표시됩니다:
이것으로 Django가 올바르게 설치되었고 테스트 프로젝트가 올바르게 작동하는 것을 확인할 수 있습니다.
관리자 인터페이스에 액세스하려면 URL 끝에 /admin/
을 추가하세요:
http://your_server_ip:8000/admin/
이렇게하면 로그인 화면으로 이동합니다:
방금 만든 관리자 사용자 이름과 암호를 입력하면 사이트의 주요 관리자 섹션에 액세스할 수 있습니다:
Django 관리자 인터페이스 작업에 대한 자세한 내용은 다음을 참조하십시오:“Django 관리자 인터페이스를 활성화하고 연결하는 방법.”
앱 테스트를 마치면 CTRL
+ C
를 눌러 runserver
명령을 중지할 수 있습니다. 이렇게하면 프로그래밍 환경으로 돌아갑니다.
Python 환경을 종료할 준비가 되면 deactivate
명령을 실행할 수 있습니다:
프로그래밍 환경을 비활성화하면 터미널 명령 프롬프트로 돌아갑니다.
결론
이 튜토리얼에서 Django를 성공적으로 설치하고 Django 앱 작업을 시작할 개발 환경을 설정했습니다.
이제 Django 웹 애플리케이션을 구축하기 위해 필요한 기본을 갖추었습니다.