본문 바로가기
WEB/Django

Django 파이썬 웹 프로그래밍(5) ADMIN 계정 설정 및 ADMIN PAGE

by Guardy 2020. 7. 26.
728x90

이번 글에서는 Admin 계정 설정과 Admin Page에서 Post APP을 확인해보도록 하겠다.

우선 runserver을 통해 localhost 서버를 열어주도록 하겠다.

python manage.py runserver

그 다음으로 urls.py를 이용해 amdin page를 들어가기 위해 다음과 같이 수정해준다.

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.conf.urls import include, url
from django.views import defaults as default_views
from django.views.generic import TemplateView

urlpatterns = [
    url(settings.ADMIN_URL, admin.site.urls),
    url(r'^users/', include('community.users.urls')),
    url(r'^post/', include('community.post.urls')),
    url(r'^accounts/', include('allauth.urls')),
    # Your stuff: custom urls includes go here
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


if settings.DEBUG:
    # This allows the error pages to be debugged during development, just visit
    # these url in browser to see how these error pages look like.
    urlpatterns += [
        url(r'^400/$', default_views.bad_request,
            kwargs={'exception': Exception('Bad Request!')}),
        url(r'^403/$', default_views.permission_denied,
            kwargs={'exception': Exception('Permission Denied')}),
        url(r'^404/$', default_views.page_not_found,
            kwargs={'exception': Exception('Page not Found')}),
        url(r'^500/$', default_views.server_error),
    ]
    if 'debug_toolbar' in settings.INSTALLED_APPS:
        import debug_toolbar
        urlpatterns = [
            url(r'^__debug__/', include(debug_toolbar.urls)),
        ] + urlpatterns

설정 후 http://127.0.0.1:8000/admin/ 에 들어가면 다음과 같은 화면이 나온다.

사용자 이름과 비밀번호는 admin 계정을 집어넣어야 할 것이다.

우리는 createsuperuser를 이용하여 만들 수 있다.

(django_project) C:\Users\devgu\community>python manage.py createsuperuser
Username: root 
Email address: dev-guardy@gmail.com
Password: 
Password (again):
Superuser created successfully.

superuser를 만들었으니 login 해보자.

Admin page에 우리가 만든 Post가 존재하지 않는다.

왜 그럴까? post 앱에서 우리가 admin.py를 설정하지 않았기 때문이다.

admin.py를 다음과 같이 수정해보자.

from django.contrib import admin
from . import models


@admin.register(models.Post)
class PostAdmin(admin.ModelAdmin):

    search_fields = (
        'title',
        'text',
        'owner_nick',
    )

    list_display = (
        'title',
        'owner_nick',
        'text',
        'created_at',
    )


@admin.register(models.Comment)
class CommentAdmin(admin.ModelAdmin):

    list_display = (
        'post',
        'comment',
        'owner_nick',
        'created_at',
    )

admin.py를 저장 후 다시 admin page로 들어가면 다음과 같은 화면이 나온다.

post app이 보이고 comments와 posts를 추가 및 변경할 수 있는 것을 확인할 수 있다.

django framework 사용의 장점은 admin page를 편리하게 사용할 수 있다는 장점이 있다.

다음 글에서는 저번 글에서 만든 views.py가 정상적으로 작동하는지 확인해보도록 하겠다.

728x90