SW/리눅스

CentOS 7 : Django 설치 방법, 예제, 명령어

얇은생각 2021. 2. 26. 07:30
반응형

Django는 개발자가 안전하고 확장 가능하며 유지 관리가 용이한 웹 애플리케이션을 구축할 수 있도록 설계된 무료 오픈 소스 고급 Python 웹 프레임워크입니다. 

Django 설치 방법은 필요에 따라 다릅니다. Pip을 사용하여 시스템 전체에 설치하거나 Python 가상 환경에 설치할 수 있습니다. Django 패키지도 CentOS 리포지토리이며 yum 패키지 관리자를 사용하여 설치할 수 있지만 오래되었습니다.

안정적인 최신 버전의 Django를 CentOS 7에 설치하고 구성할 것입니다.

Python 가상 환경의 주요 목적은 서로 다른 Python 프로젝트를 위한 격리된 환경을 만드는 것입니다. 이렇게 하면 다른 Django 설치에 영향을 줄 걱정 없이 단일 컴퓨터에 여러 개의 서로 다른 Django 환경을 가질 수 있으며 프로젝트별로 특정 버전의 모듈을 설치할 수 있습니다. 글로벌 환경에 Django를 설치하면 컴퓨터에 Django 버전을 하나만 설치할 수 있습니다.

 

 

 

CentOS 7 설치

다음 섹션에서는 CentOS 7의 Python 가상 환경에 Django를 설치하는 방법에 대한 단계별 지침을 제공합니다.

 

 

1. Python 3을 설치합니다.

소프트웨어 컬렉션(SCL) 저장소에서 Python 3.6을 설치할 예정입니다. 

CentOS 7은 CentOS 기본 시스템의 중요한 부분인 Python 2.7.5와 함께 제공됩니다. SCL을 사용하면 기본 python v2.7.5와 함께 최신 버전의 python 3.x를 설치할 수 있으므로 yum과 같은 시스템 도구가 계속 제대로 작동합니다.

먼저 CentOS 추가 저장소를 설치하여 SCL을 활성화합니다.CentOS에 포함된 SCL 릴리스 파일입니다.

sudo yum install centos-release-scl

 

 

리포지토리를 활성화하면 다음 명령을 사용하여 Python 3.6을 설치합니다.

sudo yum install rh-python36

 

 

Python 3.6이 설치되면 Django 애플리케이션을 위한 가상 환경을 생성할 준비가 되었습니다.

 

 

2. 가상 환경을 생성합니다.

Python 3.6부터는 vev 모듈을 사용하는 것이 좋습니다.

Python 3 가상 환경을 저장할 디렉토리로 이동합니다. 사용자의 홈 디렉토리 또는 사용자에게 읽기 및 쓰기 권한이 있는 다른 디렉토리일 수 있습니다. 

Django 응용 프로그램에 대한 새 디렉터리를 생성하고 여기에 CD를 넣습니다.

mkdir my_django_app
cd my_django_app

 

 

Python 3.6에 액세스하려면 scl 도구를 사용하여 새 셸 인스턴스를 실행해야 합니다.

scl enable rh-python36 bash

 

 

다음 명령을 실행하여 새 가상 환경을 생성합니다.

python3 -m venv venv

 

 

위의 명령은 venv라는 디렉토리를 생성합니다. 여기에는 Python 바이너리, Pip 패키지 관리자, 표준 Python 라이브러리 및 기타 지원 파일의 복사본이 포함됩니다. 가상 환경에 원하는 이름을 사용할 수 있습니다.

이 가상 환경 사용을 시작하려면 활성화 스크립트를 실행하여 가상 환경을 활성화해야 합니다.

source venv/bin/activate

 

 

활성화되면 가상 환경의 bin 디렉터리가 $PATH 변수 시작 부분에 추가됩니다. 또한 셸의 프롬프트가 변경되고 현재 사용 중인 가상 환경의 이름이 표시됩니다.

 

 

 

3. Django를 설치합니다.

이제 가상 환경이 활성화되었으므로 Python 패키지 관리자 pip을 사용하여 Django를 설치할 수 있습니다.

pip install django

 

 

가상 환경에서 pip3 대신 명령 pip을 사용하고 python3 대신 python을 사용할 수 있습니다.

설치를 확인하려면 다음 명령을 사용하여 Django 버전을 인쇄합니다.

python -m django --version

 

 

가장 최근의 공식 장고 버전은 2.1.2입니다.

사용자의 Django 버전이 여기에 표시된 버전과 다를 수 있습니다.

 

 

 

4. Django 프로젝트를 만듭니다.

mydjangoapp라는 새 Django 프로젝트를 생성하려면 django-admin 명령줄 유틸리티를 사용하십시오.

django-admin startproject mydjangoapp

 

 

위의 명령은 현재 디렉터리에 mydjangoapp 디렉토리를 생성합니다.

tree  mydjangoapp/

# mydjangoapp/
# |-- manage.py
# `-- mydjangoapp
#     |-- __init__.py
#     |-- settings.py
#     |-- urls.py
#     `-- wsgi.py

 

 

해당 디렉토리 내에 manage.py이라는 프로젝트를 관리하기 위한 기본 스크립트와 데이터베이스 구성, Django 및 애플리케이션별 설정을 포함한 다른 디렉토리가 있습니다. 

데이터베이스를 마이그레이션하고 관리 사용자를 생성하겠습니다.

먼저 mydjangoapp 디렉토리로 이동합니다.

cd mydjangoapp

 

 

기본적으로 Django는 SQLite 데이터베이스를 사용합니다. 프로덕션 애플리케이션의 경우 PostgreSQL, MariaDB, Oracle 또는 MySQL 데이터베이스입니다.

다음 명령을 실행하여 데이터베이스를 마이그레이션합니다.

python manage.py migrate

# Operations 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 sessions.0001_initial... OK

 

 

데이터베이스가 마이그레이션되면 Django 관리 인터페이스를 사용할 수 있도록 관리 사용자를 생성합니다.

관리자 사용자의 사용자 이름, 전자 메일 주소 및 암호를 묻는 메시지가 표시됩니다.

python manage.py createsuperuser

# Username (leave blank to use 'linuxize'): admin
# Email address: admin@linuxize.com
# Password: 
# Password (again): 
# Superuser created successfully.

 

 

 

5. 개발 서버를 테스트합니다.

관리를 사용하여 개발 웹 서버를 시작합니다. py 스크립트 다음에 run서버 옵션이 나옵니다.

python manage.py runserver

# Performing system checks...
# 
# System check identified no issues (0 silenced).
# October 20, 2018 - 11:16:28
# Django version 2.1.2, using settings 'mydjangoapp.settings'
# Starting development server at http://127.0.0.1:8000/
# Quit the server with CONTROL-C.

 

 

 

가상 시스템에 Django를 설치하고 Django 개발 서버에 액세스하려면 settings.py 파일을 편집하고 ALLOWED_HOSTS 내에 서버 IP 주소를 추가해야 합니다.

웹 브라우저에서 http://127.0.0.1:8000을 열면 기본 Django 랜딩 페이지가 표시됩니다.

CentOS 7 : Django 설치 방법, 예제, 명령어 1

 

 

URL 끝에 /admin/을 추가하여 Django admin 인터페이스에 액세스할 수 있습니다(http://127.0.1:8000/admin/). 관리자 로그인 화면으로 이동합니다.

CentOS 7 : Django 설치 방법, 예제, 명령어 2

 

 

사용자 이름과 암호를 입력하면 Django 관리 페이지로 리디렉션됩니다.

CentOS 7 : Django 설치 방법, 예제, 명령어 3

 

개발 서버를 중지하려면 터미널에 Ctrl-C를 입력합니다.

 

 

 

6. 가상 환경을 비활성화합니다.

작업이 끝나면 비활성화를 입력하여 환경을 비활성화하면 정상적인 쉘로 돌아갑니다.

deactivate

 

반응형