Django 11. admin 페이지 만들기

 Django 11. admin 페이지 만들기



1. admin 페이지 

관리자 페이지

프로젝트의 urls.py 파일에 보면 기본적으로 admin 페이지로 연결되어 있음


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




2. 슈퍼 유저 만들기


관리자 페이지기 때문에 슈퍼유저가 필요함

터미널이 python3 manage.py createsuperuser 입력

username, e-mail address, pass word 입력해서 슈퍼유저 생성


서버를 실행시키고 localhost:8000/admin 으로 이동

로그인 페이지가 뜨면 생성한 슈퍼  유저로 로그인













그룹이나 유저를 추가할 수도 있음




3. 어드민 페이지에 앱 추가하기


앱 폴더의 admin.py 파일에 admin.site.register([테이블 명]) 작성

from django.contrib import admin
from .models import Question, Choice

admin.site.register(Question)
admin.site.register(Choice)


or


from django.contrib import admin
from .models import Question, Choice

@admin.register(Question)
class QuestionAdmin(admin.ModelAdmin):
pass

@admin.register(Choice)
class ChoiceAdmin(admin.ModelAdmin):
pass









어드민 페이지에 앱과 테이블이 추가됨

테이블의 데이터를 자유롭게 다룰 수 있음



테이블을 클릭했을 때 표시될 내용은 models.py  클래스에 __str__ 함수를 정의해서 지정할 수 있음


* 예시

class Survey(models.Model):
user_name = models.CharField(max_length=20)
user_age = models.IntegerField(default=0)

def __str__(self):
return f"{self.user_name}--{self.user_age}"












* 리스트로 요소 보여주기

admin.py 에 class로 표시할 모델을 설정하고 멤버변수 list_display에 리스트로 보여줄 커럼 이름을 작성하면 해당 요소들을 리스트로 보여줌


* 예시

@admin.register(Choice)
class ChoiceAdmin(admin.ModelAdmin):
list_display = ["question","choice_text", "votes"]

















댓글

이 블로그의 인기 게시물

Spring Boot 6. 계시판 프로젝트

Spring Boot 2. Maria 데이터베이스 & Spring Data JPA

Django 10. DB 연동