Django 관리자
장고는 admin 기능을 제공해줘서 쉽게 DATA를 다룰 수 있다.
이전 post에서 model생성한 post를 Django 관리자를 통해 생성, 수정, 삭제를 할 수 있다.
(참고)
관리자 화면을 한국어로 변경하려면 settings.py 의 LANGUAGE_CODE 부분을 수정해주면 된다.
1. blog/admin.py 파일 수정
#blog/admin.py
from django.contrib import admin
from .models import Postadmin.site.register(Post)
admin.py 파일에 위와같이 입력해주면 admin 페이지에서 Post를 다룰 수 있게 된다.
파일을 수정한 후 server 재시작을 해준다.
$ python manage.py runserver
2. admin page 접속
> http://localhost:8000/admin/
admin page에 접속하면 로그인을 해야한다.
로그인을 하기위해서는 superuser를 생성해주어야 한다. (admin 계정)
3. admin 계정 생성
$(myvenu) ~\django> python manage.py createsuperuser
(참고) superuser 생성 중 error (mysql)
-> 굉장히 당황했습니다....
db를 MySQL 사용할 때, 위와 같은 error 발생했다면, mysql cmd를 활용합니다.
#mysql cmd
mysql> SHOW DATABASES;
+--------------------+ | Database | +--------------------+
| djangodb |
.
.
.
+--------------------+
mysql> USE djangodb;
mysql> SELECT * FROM django_migrations;
mysql> TRUNCATE TABLE django_migrations;
migration파일을 삭제했으므로, cmd로 넘어온다.
#cmd
$python manage.py migrate --fake-initial
빨간 줄 친 부분의 메시지를 확인하면 해결된다.
에러를 해결하고 위와 같이 superuser생성을 하였다.
4. admin site 활용
위는 superuser로 로그인에 성공한 admin page이다.
우리가 만든 application인 blog아래에 Posts라는 model이 존재한다.
우리는 admin page를 통해서 post를 생성할 수 있다.
또한 Django는 user table을 만들지 않아도 user와 Group생성 기능을 제공한다.
(참고사이트) Django 관리자 공식 문서
https://docs.djangoproject.com/en/2.0/ref/contrib/admin/
이제 다음 posting에선 Django View 를 만들거에요. Templete!! 드디어 만든다.
'Web > django' 카테고리의 다른 글
(Django) first project 4 - View (0) | 2020.08.12 |
---|---|
(Django) first project 3 - urls (0) | 2020.08.12 |
Django MySQL 연동 (0) | 2020.08.11 |
(Django) first project 2 - Model (0) | 2020.08.11 |
django 개념 (0) | 2020.08.10 |