블로그로 돌아가기

데이터베이스 연결을 포함한 Django 앱 만들기: 튜토리얼

데이터베이스 연결을 포함한 Django 앱 만들기: 튜토리얼

Django은(는) 다음으로 빌드된 무료 오픈 소스 웹 프레임워크입니다: Python. 2005년에 처음 발표된 Django는 “빠른 개발과 깔끔하고 실용적인 디자인”이라는 모토를 담고 있습니다. 웹 서버에 배포되는 이 프레임워크는 풍부한 기능, 보안 및 확장성을 갖춘 웹 프런트엔드를 신속하게 제작할 수 있습니다.

모든 웹 앱은 콘텐츠를 위해 데이터베이스에 의존합니다. 현대적인 프레임워크인 Django는 다음과 같은 여러 표준 데이터베이스 프로그램을 지원합니다. 예를 들어, PostgreSQL, SQLite, MySQL, 등입니다. 이 가이드는 Django 앱을 MySQL 데이터베이스에 연결하는 방법을 보여줍니다..

전제 조건

이 튜토리얼을 따르려면 Django 및 데이터베이스 연결로 넘어가기 전에 특정 전제 조건을 충족해야 합니다:

Python 3 설치 및 구성

Django는 Python으로 작성되었습니다. Python 앱을 실행하려면 시스템에 Python 바이너리가 설치되어 있어야 합니다. Ubuntu에는 기본적으로 Python이 설치되어 제공됩니다. 여기서는 Python 3을 사용합니다. 터미널에서 다음 명령을 실행합니다. 먼저, 다음을 업데이트합니다: APT 캐시를 업데이트하고 설치된 모든 패키지를 업그레이드(가능한 경우)합니다:

Python 3은 공식 Ubuntu 패키지 서버에서 직접 사용할 수 있습니다. 패키지 python-is-python3 은(는) python 바이너리 소프트 링크를 python3으로 생성하여 사용 편의성을 높입니다:

다음으로, 설치가 성공적으로 완료되었는지 확인합니다:

그 후에는 다음이 필요합니다: pip. 이것은 표준 Python 패키지 관리자입니다. 표준 라이브러리의 일부가 아닌 추가 Python 라이브러리를 관리하는 역할을 합니다. 여기서는 다음을 설치한다는 점에 유의하세요: pip3 (Python 3용):

마지막으로, 탄탄한 프로그래밍 환경을 위해 몇 가지 추가 패키지가 필요합니다:

MySQL 설치 및 구성

이 섹션에서는 MySQL을 설치하고 구성하는 방법을 간략하게 설명합니다. 기본 Ubuntu 패키지 저장소에서 사용할 수 있습니다:

설치가 성공적으로 완료되면 MySQL이 백그라운드에서 실행되기 시작합니다. 제대로 작동하는지 확인합니다:

Django App 1

MySQL 서버가 정상적으로 실행 중입니다. 이제 안심하고 Django 앱 개발로 넘어갈 수 있습니다.

Django 작업하기

  • 샘플 Django 앱 구축하기

웹 앱의 기초 작업을 위해서는 Django 프로젝트 스켈레톤이 필요합니다. 여기에는 탄탄한 웹 앱을 만드는 데 필요한 모든 도구와 라이브러리가 포함되어 있습니다. 먼저, Django 앱을 위한 전용 디렉터리를 생성합니다. 디렉터리 이름은 빌드하려는 앱과 일치하고 의미 있는 이름으로 지정하는 것이 좋습니다. 이 데모에서는 다음과 같이 이름을 지정하겠습니다: myDemoApp:

디렉터리 내에 가상 환경을 생성하려면 Python의 venv 모듈이 필요합니다. 다음을 사용하여 모듈을 설치합니다: APT:

그런 다음, 해당 디렉터리로 이동하여 가상 환경을 구축합니다. 명확성을 위해 환경 이름을 다음과 같이 지정했습니다: demoapp_env:

다음으로, 다음 스크립트를 실행하여 가상 환경을 활성화합니다: activate 스크립트:

Django App 2

이제 이 전용 가상 환경 내에 Django를 설치하겠습니다. Pip은(는) 몇 가지 추가 구성 요소를 다운로드하고 설치합니다:

Django가 설치되어 사용할 준비가 되었습니다. 새 Django 프로젝트를 생성하려면 다음 명령을 호출합니다: django-admin 명령을 호출합니다. 그 후 앱에 적절한 이름을 지정합니다:

필요한 프로젝트 파일과 디렉토리가 준비된 데모 프로젝트가 생성됩니다:

Django App 3

프로젝트 스켈레톤이 준비되었습니다. 다음으로, 목표를 달성하기 위해 이를 올바르게 구성해야 합니다.

  • Django 프로젝트 설정 편집

프로젝트의 모든 설정은 다음 파일에 저장됩니다: settings.py. 이 파일은 Django 프로젝트 디렉토리 내에 위치합니다. 먼저 적절한 시간대를 설정하고 Django 앱에 연결할 수 있는 호스트 목록을 지정하겠습니다. 텍스트 편집기에서 설정 파일을 엽니다:

스크립트를 아래로 스크롤하여 다음 항목을 찾습니다: TIME_ZONE. 데모를 위해 시간대는 다음과 같이 설정됩니다: America/New_York:

TIME_ZONE

참고로, 다음 명령은 Linux에서 지원되는 모든 시간대를 출력합니다:

다음으로, 다음 항목으로 스크롤합니다: ALLOWED_HOSTS. 이 항목은 앱에 액세스할 수 있는 머신을 제어합니다. 데모를 위해 localhost만 포함되어 있습니다:

Django App 4그런 다음 파일을 저장하고 편집기를 닫습니다. 다음 명령을 실행하면 변경 사항이 적용됩니다:

python manage이제 웹 앱의 관리자 계정을 생성해야 합니다. 이 계정은 Django 관리자 인터페이스에 액세스하는 데 사용됩니다. 다음 명령을 실행하세요:

Django App 5사용자 이름, 이메일, 비밀번호를 묻는 메시지가 나타납니다. 이제 앱이 데이터베이스에 연결할 준비가 되었습니다.

MySQL 연결

  • MySQL 커넥터 및 개발 라이브러리 설치

Django 앱에 MySQL을 통합하려면 필요한 도구를 제공하는 몇 가지 추가 Python 3 라이브러리가 필요합니다. 여기서는 데이터베이스 커넥터로 다음을 사용합니다: mysqlclient. 이 라이브러리는 다음의 포크(fork)입니다: MySQLdb.

시스템에 python3-dev이(가) 설치되어 있는지 확인하세요:

또한 몇 가지 추가 Python 및 MySQL 헤더와 라이브러리가 필요합니다:

설치가 완료되면, 다음을 사용하여 pip Python 모듈을 설치합니다: mysqlclient. 무시해도 되는 일부 오류 메시지가 발생할 수 있습니다:

  • 전용 데이터베이스 구성

다음 단계는 Django 앱을 위한 전용 데이터베이스와 데이터베이스 사용자를 구성하는 것입니다. 다음 사용자로 MySQL 셸을 실행합니다: root 사용자:

현재 사용 가능한 모든 데이터베이스를 확인하려면 다음 쿼리를 실행하세요:

Django 앱을 위한 전용 데이터베이스를 생성해 보겠습니다. 프로젝트 이름과 일치하는 적절한 이름을 지정하세요:

그런 다음 생성이 완료되었는지 확인합니다:

Django App 6이제 전용 MySQL 사용자를 생성합니다. 이 사용자를 데이터베이스의 소유자로 구성하겠습니다. Django 앱은 이 사용자의 자격 증명을 사용하여 MySQL 데이터베이스와 연동합니다:

다음 사용자에게 demoapp_user 데이터베이스에 대한 모든 권한을 부여합니다: demoapp_data:

권한 변경 사항을 적용하려면 다음을 다시 로드합니다: MySQL 권한 테이블(grant tables):

Django App 7이제 데이터베이스가 Django 앱에 연결할 준비가 되었습니다.

  • 데이터베이스를 Django 앱에 연결하기

마지막으로, 데이터 저장을 위해 데이터베이스를 사용하도록 Django 앱을 구성하겠습니다. 다음 설정 스크립트를 엽니다: settings.py:

다음 항목으로 스크롤합니다: DATABASES 그리고 다음 코드를 입력합니다:

Django App 8파일을 저장하고 편집기를 닫습니다. 다음 단계는 이전에 코드에서 설명한 구성 파일을 설정하는 것입니다. sudo를 사용하여 설명된 위치의 텍스트 파일을 엽니다:

이 구성 파일에는 Django 전용 데이터베이스와 MySQL 서버에서 생성한 사용자에 대한 정보가 포함됩니다. 파일 끝에 다음 줄을 추가합니다:

default-character-set변경 사항을 적용하려면 MySQL 서버를 다시 시작해야 합니다:

  • MySQL 연결 테스트

이제 MySQL 연결이 제대로 작동하는지 확인할 차례입니다. Django 서버가 문제없이 실행된다면 연결이 잘 작동하는 것입니다. 그렇지 않다면 문제가 있는 것입니다. 먼저 Django 프로젝트에 적용된 모든 변경 사항을 적용합니다:

python manage이제 다음 프로젝트 디렉터리로 이동하여 Django 서버를 시작합니다:

python manage.py runserver다음으로, 웹 브라우저에서 서버에 접속해 봅니다:

server_ip_address

짜잔! Django 성공 페이지에 성공적으로 접속했습니다. 또한 MySQL 연결이 제대로 작동하는지 확인되었습니다. 작업이 끝나면 가상 환경을 안전하게 종료할 수 있습니다:

마치며

이 가이드에서는 Django와 MySQL을 결합하는 기본 방법을 배웠습니다. Django 앱을 만들고 이를 MySQL 데이터베이스와 연결하는 방법을 보여주었습니다. 핵심은 Django 구성 파일인 settings.py에 있습니다. 또한 다음과 같은 몇 가지 기본 설정도 수정했습니다: ALLOWED_HOSTSTIME_ZONE. Django는 믿을 수 없을 정도로 유연합니다. MySQL 외에도 PostgreSQL과 같은 다른 SQL 서버, Nginx와 같은 서버 엔진 등도 지원합니다.

Django를 설치, 구성 및 작업하는 모범 사례에 대한 가이드도 확인할 수 있습니다:

즐거운 컴퓨팅 되세요!

author

Hark Labs

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

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