Django 관리자 인터페이스 활성화 및 연결하는 방법

소개

만약 Django 개발 시리즈를 따라오셨다면, Django 애플리케이션을 시작하고, 애플리케이션을 MySQL에 연결하고, 블로그 웹 애플리케이션 내에서 PostsComments 데이터를 위한 데이터베이스 모델을 만들었을 것입니다.

이 튜토리얼에서는 Django 관리자 사이트에 연결하고 활성화하여 블로그 웹 사이트를 관리할 수 있게 될 것입니다. Django 관리자 사이트는 웹 사이트의 콘텐츠를 관리하기 위해 설계된 사용자 인터페이스가 미리 구축되어 있습니다.

Django의 공식 문서에서는 조직의 내부 사용에 이상적이지만, 자동으로 생성된 Django 관리자 인터페이스를 기반으로 웹 애플리케이션을 구축하는 것은 권장하지 않는다는 점을 강조합니다. 인터페이스가 프로세스 중심적이어야 하거나 데이터베이스 테이블과 필드의 구현 세부 정보를 추상화해야 하는 경우, 관리자 쪽에 대한 자체 뷰를 작성하는 것이 가장 좋습니다.

필수 구성 요소

이 튜토리얼은 Django 개발 시리즈의 일부이며 해당 시리즈의 연속입니다.

이 시리즈를 따라오지 않은 경우 다음 가정을 하고 있습니다:

이 튜토리얼은 주로 Django Admin 인터페이스를 다루므로 약간 다른 설정을 사용하더라도 따라 할 수 있을 수도 있습니다.

단계 1 — 관리자 활성화

Python과 Django에서 작업을 시작할 때는 Python 가상 환경을 활성화하고 앱의 루트 디렉토리로 이동해야합니다. 시리즈를 따라오셨다면 다음을 입력하여이를 달성할 수 있습니다.

  1. cd ~/my_blog_app
  2. . env/bin/activate

Django Admin을 활성화하려면 앱이 settings.py 파일의 INSTALLED_APPS 목록에 포함되어 있는지 확인해야합니다.

설정 파일의 디렉토리로 이동하십시오:

  1. cd ~/my_blog_app/blog/blog/

여기서 settings.py 파일을 엽니다. 이미 없는 경우, nano와 같은 텍스트 편집기를 사용하여 django.contrib.adminINSTALLED_APPS 목록에 추가하십시오.

  1. nano settings.py

파일의 INSTALLED_APPS 섹션은 아래 파일과 유사해야합니다. 목록의 앱은 맨 위에 있는 것이며, 'blogsite',이지만 다른 이름의 앱을 만들었을 경우에는 이 파일에 해당 앱이 나열되어 있는지 확인하십시오.

settings.py
...
# Application definition
INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
...

변경 사항이 있는 경우 파일을 저장하고 닫으십시오. nano에서는 이를 입력하여 수행 할 수 있습니다.CTRLX 그런 다음 Y를 입력 한 다음 ENTER.

이제 urls.py 파일을 다시 nano 또는 다른 텍스트 편집기로 열 수 있습니다.

  1. nano urls.py

파일 상단의 주석 아래에서 파일은 다음과 유사해야합니다.

urls.py
"""
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

파일이 위와 다른 경우 위의 줄을 urls.py 파일로 복사하여 붙여넣으십시오.

이제 Django 웹 프로젝트가 settings.pyurls.py 파일에 적절한 코드를 보유했음을 확인했으므로 응용 프로그램이 관리 모델 및 관리자 사용자 인터페이스에 액세스 할 수 있음을 알 수 있습니다.

단계 2 – 관리자가 설치된 앱인지 확인합니다.

다음으로 모델을 데이터베이스로 마이그레이션하여 새로 추가된 관리자 모델을 가져와야합니다.

manage.py 파일이 위치한 디렉토리로 이동하십시오.

  1. cd ~/my_blog_app/blog

models에 대한 변경 사항을 적용할 때마다 migrate 명령을 실행해야합니다.

  1. python manage.py migrate

위의 파일에 대한 변경 사항이 없으면 migrate 명령을 실행하면 다음과 유사한 출력을받아야합니다.

Output
Operations to perform: Apply all migrations: admin, auth, blogsite, contenttypes, sessions Running migrations: No migrations to apply.

그렇지 않으면 출력은 Django가 앱을 지원하기 위해 필요한 마이그레이션을 수행했음을 나타내어야합니다.

다음 명령을 실행하여 서버를 시작할 수 있습니다. 0.0.0.0을(를) 귀하의 IP 주소로 바꿀 수 있습니다.

  1. python manage.py runserver 0.0.0.0:8000

그런 다음 원하는 브라우저에서 관리자 패널의 URL로 이동하십시오. 서버의 IP 주소를 입력하십시오.

http://your-server-ip:8000/admin/

이 로그인 화면에 도달하는 것은 관리자 앱을 성공적으로 활성화했음을 알려줍니다.

비록 앱을 활성화했지만, 아직 장고 관리자 계정을 설정하지 않았을 수 있습니다. 다음 단계에서 로그인하기 위해 관리자 계정을 만들 수 있습니다.

단계 3 — 관리자 슈퍼 사용자 계정 생성

이미 관리자 계정을 설정하고 관리자 페이지에 로그인할 수 있는 경우, 이 단계를 건너뛸 수 있습니다.

새 터미널을 열어 서버에 연결하거나 Django 앱을 비활성화하여 서버 터미널의 프로그래밍 환경에서 작업할 수 있도록 CTRLC를 누릅니다.

Django를 사용하면 manage.py 파일을 실행하여 슈퍼 사용자 생성 프로세스를 시작할 수 있습니다.

  1. python manage.py createsuperuser

이렇게 하면 사용자 이름, 이메일 및 암호를 입력하라는 프롬프트가 표시됩니다. 이 튜토리얼에서는 사용자 이름을 admin_user, 이메일을 [email protected], 암호를 admin123으로 하는 관리자 계정을 만듭니다. 이 정보를 사용자 선호에 맞게 입력하고 기억하기 쉬운 안전한 암호를 사용해야 합니다.

Output
Username (leave blank to use 'root'): admin_user Email address: [email protected]

그런 다음 암호를 입력할 때 Password: 프롬프트가 표시될 때마다 두 번 입력합니다. 암호를 입력할 때는 입력한 키보드 입력에 대한 출력을 받지 않습니다. 각 프롬프트 뒤에 enter 키를 눌러 암호를 확인합니다.

Output
Password: Password (again):

이 시점에서, 우리는 이제 사용자 이름이 admin_user이고 비밀번호가 admin123인 관리자 계정을 가지고 있습니다.

로그인하여 관리자 페이지에 있는 내용을 조사해 봅시다.

필요하면 Django 앱을 다시 실행하고 python manage.py runserver 0.0.0.0:8000을 실행한 다음 URL http://your-server-ip:8000/admin/로 다시 이동하여 관리자 로그인 페이지로 이동합니다. 그런 다음 방금 만든 사용자 이름과 비밀번호로 로그인합니다.

성공적인 로그인 후 다음 페이지가 표시됩니다.

다음으로, 블로그 앱을 관리자 패널에 연결해야 합니다.

단계 4 — 포스트와 코멘트를 위한 URL 패턴 만들기

이전 단계에서 관리자 인터페이스에 성공적으로 로그인했지만, 블로그 앱이 아직 사용 가능하지 않음을 알 수 있습니다. 관리자 인터페이스를 블로그 앱으로 채우려면 연결된 모델 PostComment을 추가하고 등록해야 합니다.

이를 위해 urls.py라는 빈 파일을 blogsite 디렉토리에 다음과 같이 만들겠습니다:

  1. touch ~/my_blog_app/blog/blogsite/urls.py

이 파일에서 블로그 애플리케이션의 URL 패턴을 추가하여 관리자 인터페이스를 통해 액세스할 수 있도록 합니다.

방금 만든 해당 urls.py 파일의 위치로 이동합니다.

  1. cd ~/my_blog_app/blog/blogsite/

그럼 nano로 파일을 열어 보세요.

  1. nano urls.py

다음 코드를 파일에 추가하세요.

urls.py
from django.urls import path
from . import views
urlpatterns = [
    path('$/', views.posts, name='posts'),
    path('$/', views.comments, name='comments'),
]

이는 애플리케이션이 PostsCommentsviews에 액세스할 수 있도록 하는 URL 패턴 표현입니다. 아직 이러한 views를 생성하지는 않았지만, 이후 시리즈에서 다룰 것입니다.

단계 5 — 블로그 앱을 관리자와 연결

블로그를 관리자 인터페이스에 연결하면 관리 대시보드에서 PostsComments의 링크를 볼 수 있습니다. 현재 대시보드는 GroupsUsers의 링크만 표시합니다.

두 가지를 연결하려면 blogsite의 관리 파일에서 PostsComments 모델을 등록해야 합니다.

blogsite 디렉토리로 이동하세요:

  1. cd ~/my_blog_app/blog/blogsite

그런 다음, 원하는 텍스트 편집기로 admin.py 파일을 엽니다.

  1. nano admin.py

파일에는 import 문과 주석이 들어 있습니다.

admin.py
from django.contrib import admin

# Register your models here.

파일을 다음 코드로 수정하여 앱을 지원하도록 합니다.

admin.py
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


admin.site.register(Post)
admin.site.register(Comment)

파일을 만족할 때 저장하고 종료하세요.

지금은 관리 패널 내에서 PostComment 모델을 등록했습니다. 이제 관리 인터페이스가 이러한 모델을 사용자에게 보여주고 관리 대시보드를 보고 있는 사용자에게 표시할 수 있게 될 것입니다.

단계 6 — 블로그 앱이 관리에 추가되었는지 확인

Python 코드를 추가했으므로 서버를 실행하십시오. http://your-server-ip:8000/admin을 열고, 로그인하십시오. 이미 로그인되어 있지 않은 경우 자격 증명을 사용하여 관리자에 로그인하십시오. 이 튜토리얼에서는 사용자 이름이 admin_user이고 암호가 admin123임을 사용하여 로그인했습니다.

로그인하면 다음 웹 페이지가 제공됩니다. 이전과 달라지지 않았다면 브라우저를 새로고침해야 할 수 있습니다.

이제 앱인 blogsite가 장고 관리자 대시보드에 연결되었음을 확인했습니다.

앱을 테스트하는 것이 완료되면 CTRL + C를 눌러 장고 서버 실행을 중지할 수 있습니다. 이렇게 하면 프로그래밍 환경으로 돌아갈 것입니다.

파이썬 환경을 나가려면 deactivate 명령을 실행할 수 있습니다:

  1. deactivate

프로그래밍 환경을 비활성화하면 터미널 명령 프롬프트로 돌아갑니다.

결론

이 자습서에서는 관리자 인터페이스를 성공적으로 활성화하고 관리자 로그인을 만들고 PostComment 모델을 관리자에 등록했습니다.

Django 관리자 인터페이스를 통해 블로그에서 게시물을 생성하고 댓글을 모니터링할 수 있습니다.

이 시리즈에서는 블로그 애플리케이션의 views를 생성할 예정입니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-and-connect-the-django-admin-interface