Django은(는) 인기 있고 무료이며 오픈 소스인 웹 애플리케이션 프레임워크로, 다음을 기반으로 합니다: Python. 웹 앱 개발을 간소화하기 위해 노력합니다. Django는 웹사이트를 더 빠르고 쉽게 개발할 수 있도록 견고한 구성 요소 세트를 제공합니다.
저희의 Django 관련 기사 시리즈에서 데모 앱을 통해 Django를 사용하는 방법을 살펴보았습니다. 이 가이드에서는 다음 가이드에서 배운 내용을 바탕으로 진행합니다: Django 모델 생성: 튜토리얼 가이드의 내용을 바탕으로 Django 모델을 관리자 인터페이스와 연결해 보겠습니다.
시작해 봅시다!
전제 조건
이 가이드는 Django 앱을 구성하고 빌드하는 방법을 더 깊이 있게 다룹니다. 다음과 같은 전제 조건이 필요합니다:
- 올바르게 구성된 로컬 Python 프로그래밍 환경.
- 데이터베이스(가급적이면 MySQL)에 연결하도록 구성된 Django 앱. 다음 가이드를 확인해 보세요: PostgreSQL, Nginx 및 Gunicorn으로 Django 구성하기.
- 이 앱에는 다음이 포함됩니다: 이 가이드에서 시연된 Django 환경. 모든 단계는 Ubuntu 20.04 서버에서 수행됩니다. 다음에 대해 자세히 알아보세요: Ubuntu 서버 설정하기.
지금까지 이 시리즈를 따라오셨다면, 샘플 Django 앱을 만들고, MySQL과의 연결을 설정했으며, 데이터베이스 모델을 생성했습니다: (대상: Posts 및 댓글). 이 모델들은 기본적인 블로그 사이트의 단순한 기능을 특징으로 합니다. 이 가이드는 여기서부터 계속됩니다. Django 공식 문서에서는 자동으로 생성된 Django 관리자 인터페이스를 중심으로 웹 앱을 구축하는 것을 권장하지 않습니다.
1단계. 관리자 활성화하기
다음에서 시연된 바와 같이: 전제 조건 튜토리얼에서 설명했듯이, Django 앱은 항상 전용 가상 Python 환경에서 빌드하는 것이 좋습니다. 앱에서 작업을 하려고 할 때마다 가상 환경을 활성화해야 합니다.
먼저, Python 가상 환경의 활성화 스크립트를 실행합니다:
|
1 |
cd sample_app/ |
|
1 |
. sample_app_env/bin/activate |
![]()
먼저 Django 앱 구성을 수정해야 합니다. 텍스트 편집기에서 구성 파일 settings.py 을(를) 엽니다:
|
1 |
nano settings.py |
다음 섹션으로 스크롤을 내립니다: INSTALLED_APPS. 여기에는 Django 프로젝트에 연결된 모든 앱이 나열되어 있습니다. 기본 앱과 함께 Django 모델 앱인 random_app 및 django.contrib.admin:

다음으로, URL 구성 파일 urls.py을(를) 수정해야 합니다. 텍스트 편집기에서 파일을 엽니다:
|
1 |
nano urls.py |
파일에는 다음과 같은 코드가 포함되어 있어야 합니다:
|
1 2 3 4 5 6 |
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ] |

파일을 저장하고 편집기를 닫습니다. 이러한 수정을 통해 Django 앱이 관리자 모델 및 관리자 사용자 인터페이스에 액세스할 수 있게 됩니다.
2단계. 관리자 설치 확인
구성을 수정한 후에는 데이터베이스가 Admin 모델로 업데이트될 수 있도록 모델을 마이그레이션하는 것이 좋습니다.
Django 앱에서 데이터베이스 마이그레이션을 실행합니다:
|
1 |
python manage.py migrate |

이제 Django 서버를 시작할 준비가 되었습니다. 로컬 프로젝트이므로 서버를 로컬에서 실행합니다. 서버는 다음 포트에서 실행되어야 합니다: 8000. 방화벽이 구성되어 있는 경우, 다음 포트에 대한 트래픽 교환을 허용해야 합니다: 8000. 이 UFW에 대한 심층 가이드에서 특정 포트로의 트래픽을 허용하는 방법을 보여줍니다.
서버를 실행합니다:
|
1 |
python manage.py runserver localhost:8000 |

그 후, 웹 브라우저에서 서버 URL에 접속합니다:
|
1 |
http://localhost:8000 |

관리자 접속 페이지에 액세스하려면 다음 URL로 이동하세요:
|
1 |
http:/localhost:8000/admin |

Django 앱에 사용할 관리자 계정이 필요합니다. 이 관리자 계정은 앱에서 가장 높은 권한을 갖게 됩니다.
3단계. 슈퍼유저 계정 생성
지금까지 Django 앱이 Admins 모델을 성공적으로 사용하고 있으며 관리자 페이지에 액세스할 수 있음을 확인했습니다. 다음을 눌러 Django 서버를 종료합니다: Ctrl + C.
서버가 종료되면 Django 앱을 변경할 수 있습니다. 다음 명령을 실행하여 슈퍼유저/관리자 계정을 생성합니다:
|
1 |
python manage.py createsuperuser |

인증을 위해 사용자 이름, 이메일, 비밀번호를 요청합니다. 이제 Django 관리자 패널에 접속해 볼 수 있습니다. Django 서버를 시작하고 관리자 페이지로 이동합니다:
|
1 |
python manage.py runserver localhost:8000 |
로그인하려면 최고 관리자(superuser)의 사용자 이름과 비밀번호를 사용하세요:

짜잔! 관리자 패널에 성공적으로 접속했습니다. 이제 남은 일은 Post 및 Comment 부분을 관리자 패널에 연결하는 것뿐입니다.
4단계. URL 패턴 생성하기
관리자 인터페이스를 Post 및 Comment 데이터로 채우려면 Django가 관련 URL을 생성해야 합니다. 이 섹션에서는 이들을 위한 전용 URL을 구성하는 방법을 살펴보겠습니다.
Create a file urls.py 파일을 random_app 디렉터리 아래에 생성합니다:
|
1 |
touch urls.py |
![]()
텍스트 편집기에서 파일을 엽니다:
|
1 |
nano urls.py |
다음으로, 파일에 아래 코드를 추가합니다:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('$/', views.posts, name='posts'), path('$/', views.comments, name='comments'), ] |

이 코드는 앱이 다음의 뷰에 액세스할 수 있도록 하는 URL 패턴을 정의합니다: Posts 및 댓글.
5단계. 앱을 관리자에 연결하기
우리의 목표는 Posts 및 댓글 를 관리자 패널에 성공적으로 연결하는 것입니다. 프로세스가 성공하면 관리자 대시보드에서 해당 링크를 볼 수 있습니다.
연결하려면 모델이 있는 위치로 이동하여 텍스트 편집기에서 admin.py 파일을 엽니다:
|
1 |
nano admin.py |

파일에 다음 코드를 입력합니다:
|
1 2 3 4 5 6 |
from django.contrib import admin from random_app.models import Post from random_app.models import Comment admin.site.register(Post) admin.site.register(Comment) |

파일을 저장하고 편집기를 닫습니다. 이제 관리자 패널이 모델을 인식하고 해당 링크를 표시해야 합니다.
6단계. 변경 사항 확인하기
이제 Django 앱이 관리자 패널에서 직접 Posts 및 댓글 를 관리할 수 있도록 성공적으로 구성되었습니다. localhost에서 서버를 시작하고 관리자 패널에 로그인하여 변경 사항을 확인하세요:

테스트가 끝나면 Django 서버를 안전하게 중지하고 가상 환경을 종료할 수 있습니다. 콘솔 창에서 Ctrl + C를 눌러 Django 서버를 중지합니다. 가상 환경을 종료하려면 다음 명령을 실행하세요:
|
1 |
deactivate |
![]()
일반 터미널 세션으로 돌아갑니다.
마치며
이 가이드에서는 관리자 인터페이스를 활성화하고, 관리자 계정을 생성하고, 사용자 정의 모델( Posts 및 댓글)을 관리자에 등록하는 방법을 보여주었습니다. 이제 Django 관리자 인터페이스를 통해 블로그의 포스트와 댓글을 더 효율적으로 관리할 수 있습니다.
다음은 컨테이너와 함께 Django를 활용하는 데 도움이 되는 Django 시리즈의 추가 리소스입니다:
- Ubuntu에서 Docker를 사용하여 Django 및 Gunicorn 애플리케이션 빌드하기
- Docker, Nginx 및 Let’s Encrypt를 사용하여 Django 애플리케이션을 보호하고 확장하는 방법
즐거운 컴퓨팅 되세요!
댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.