본문 바로가기

Python/Python_Django

[Python_Django] 관리자 계정 만들기 및 ORM 사용하기

장고에는 관리자 계정을 만들어서 웹 사이트를 좀 더 쉽게 관리 할 수 있는 기능이 있다.

cmd\Desktop\HelloDjango> python manage.py createsuperuser

관리자 계정을 만들려면, Username(아이디), 이메일, 패스워드를 입력해야 한다.

아이디는 입력하지 않고 엔터를 누르면 윈도우 시스템 사용자 이름으로 자동 설정된다.

계정이 만들어 진것을 확인하면, 서버 url뒤에 /admin이라고 치면 로그인 창이 뜬다.

ex) 127.0.0.1:8000/admin

이제 여기에다가 아까 입력한 아이디 비밀번호를 입력하면 로그인이된다.

이제 이 관리자 페이지에서 테이블을 관리 할 수 있게 해야되는데 그건 다음 게시물에서 하겠다.


먼저, 알아 둘 것은 DB에 객체값이 저장되면 고유한 id가 하나씩 부여가 된다.

id는 1부터 오름차순으로 붙게되고

지금은 게시물을 만드는 것이니 게시물 하나당 고유한 id 하나가 붙는거라고 보면 된다.

 

이제 ORM을 이용해서 DB테이블 확인 및 값 넣기를 할 것이다.

ORM (Object- Relational Mapping)
단어 그대로 객체-관게 매핑.
객체 지향 프로그래밍의 Class와 관계형 데이터베이스의 Table을 자동으로 매핑 해주는 역할이며
ORM이 객체 간의 관계를 통해 SQL문을 자동으로 생성해주기 때문에 SQL문을 몰라도 DB연동이 가능해진다.

그래서 파이썬을 이용하는 장고는 ORM을 통해 쉽게 DB연동을 할 수 있다.

서버를 끄고 나서

cmd\Desktop\HelloDjango> python manage.py shell

쉘을 열고나서 테이블을 만들었던 클래스를 import를 해주어야 ORM을 사용할 수 있다.

만든 앱의 models에서 Class를 import 한다.

>>> from board.models import Boards

객체를 새로 하나 만들어서 이름은 Hello 내용은 Django로 한다.

>>> Boards.objects.create(title = "Hello", content = "Django")

성공적으로 만들어지면 밑의 사진처럼 뜨게 된다.

저장되어 있는 객체 전부를 보려면

>>> Boards.objects.all()

어떤 한 객체를 다른 변수에 저장해서 그것에 대한 정보를 보려면

(변수명은 아무거나 해도 되지만 여기서는 callid로 했다.)

>>> callid = Boards.objects.get(id=1)

이렇게 변수로 만들어 놓으면, 변수 callid를 치면 바로 id 값이 1인 객체를 보여준다.

이제 이 변수를 이용해 객체 안의 값(속성, 애트리뷰트)들도 불러 올 수 있다.

>>> callid.title

>>>callid.contents

ORM을 끝나려면

>>> exit()

를 하면 된다.