Django는 Python으로 작성된 웹 프레임워크로, 관리자 도구를 포함하고 있어요. 이 도구는 Django 애플리케이션의 데이터를 쉽게 관리하고 조작할 수 있도록 돕습니다. Django 관리자는 오픈 소스이며, 개발자들이 데이터 모델을 쉽게 관리하고 변경할 수 있는 강력한 도구입니다.
Django 관리자를 설정하고 사용하는 것은 다음과 같은 단계를 따릅니다.
- Django 설치
Django가 설치되어 있지 않다면, 터미널 또는 명령 프롬프트에서 다음 명령을 실행하여 설치하세요.pip install Django
- Django 프로젝트 생성
Django 프로젝트를 생성합니다.여기서 "myproject"는 프로젝트의 이름입니다.django-admin startproject myproject
- 앱 생성
Django 앱을 생성합니다.여기서 "myapp"은 앱의 이름입니다.cd myproject python manage.py startapp myapp
- 모델 정의
앱 내의models.py
파일에서 데이터 모델을 정의합니다.# myapp/models.py from django.db import models class MyModel(models.Model): name = models.CharField(max_length=100) description = models.TextField() def __str__(self): return self.name
- 마이그레이션 및 데이터베이스 업데이트
모델 변경을 적용하기 위해 마이그레이션을 생성하고 데이터베이스를 업데이트합니다.python manage.py makemigrations python manage.py migrate
- 슈퍼유저 생성
Django 관리자에 로그인할 수 있는 슈퍼유저를 생성합니다.이 명령을 실행하면 관리자 계정을 만들 수 있습니다.python manage.py createsuperuser
- 관리자 URL 활성화
myproject/urls.py
파일에서 관리자 URL을 활성화합니다.# myproject/urls.py from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ]
- 서버 실행
개발 서버를 실행하여 확인합니다.이제 브라우저에서http://127.0.0.1:8000/admin/
로 이동하여 방금 생성한 슈퍼유저 계정으로 로그인하면 Django 관리자를 사용할 수 있습니다.python manage.py runserver
Django의 관리자 화면을 원하는 형태로 꾸미기 위해서 커스터마이징하는 방법은 여러 가지가 있습니다.
다음은 단계별로 설명된 간단한 방법입니다.
1. 장고 프로젝트 및 앱 설정
먼저, Django 프로젝트를 생성하고 앱을 추가합니다.
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
myapp
은 나중에 사용할 앱의 이름입니다.
2. 모델 정의
myapp/models.py
파일에서 모델을 정의합니다.
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=255)
# 다른 필드 추가
3. 마이그레이션 및 관리자 등록
마이그레이션을 수행하고 모델을 관리자에 등록합니다.
python manage.py makemigrations
python manage.py migrate
myapp/admin.py
파일에 다음 코드를 추가합니다.
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)
4. 관리자 사용자 생성
python manage.py createsuperuser
5. 템플릿 폴더 생성
프로젝트 폴더 내에 templates/admin
폴더를 생성합니다.
6. 템플릿 파일 생성
templates/admin/base_site.html
파일을 만들고 다음과 같이 내용을 추가합니다.
{% extends "admin/base_site.html" %}
{% block extrastyle %}
{{ block.super }}
<link rel="stylesheet" type="text/css" href="{% static 'admin/my_custom.css' %}">
{% endblock %}
7. CSS 파일 생성
static/admin/my_custom.css
파일을 만들고 원하는 스타일을 추가합니다.
8. 커스텀 뷰 및 템플릿
myapp/views.py
파일에 커스텀 뷰를 정의하고, 템플릿 파일을 작성합니다.
from django.shortcuts import render
def custom_admin_view(request):
# 원하는 로직 추가
return render(request, 'admin/my_custom_view.html')
templates/admin/my_custom_view.html
파일을 만들고 내용을 추가합니다.
{% extends "admin/base_site.html" %}
{% block content %}
<!-- 내용 추가 -->
{% endblock %}
9. URL 패턴 추가
myproject/urls.py
파일에 URL 패턴을 추가합니다.
from django.contrib import admin
from django.urls import path
from myapp.views import custom_admin_view
urlpatterns = [
path('admin/', admin.site.urls),
path('admin/custom/', custom_admin_view, name='custom_admin_view'),
]
10. 관리자 메뉴에 링크 추가
templates/admin/base_site.html
파일을 열고 원하는 위치에 링크를 추가합니다.
<li><a href="{% url 'admin:custom_admin_view' %}">Custom View</a></li>
11. 실행
서버를 실행하고 http://127.0.0.1:8000/admin/
에 접속하여 변경된 관리자 화면을 확인합니다.
python manage.py runserver
Django 관리자 화면을 세부적으로 커스터마이징을 통해서, 프로젝트에 따라 더 많은 기능을 추가할 수 있습니다.
댓글