rueki

Django 기초 2. 프로젝트 및 앱 생성, 데이터베이스 관리 본문

Django

Django 기초 2. 프로젝트 및 앱 생성, 데이터베이스 관리

륵기 2019. 11. 20. 00:13
728x90
반응형

지난 시간에는 장고의 환경설정에 대해서 알아보았다.

이번에는 프로젝트 및 앱 생성을 직접 해보도록 하겠다.

 

명령어는 간단하다.

django-admin startproject <프로젝트명>

이를 통해서 프로젝트를 생성할 수 있다. 나는 mypage라는 프로젝트를 생성했다.

Djang_pject는 내 가상환경이며 하단에 mypage라는 프로젝트가 생성된 것을 볼 수가 있다.

다음 앱 생성을 해보자.

django-admin startapp <프로젝트명>

이 명령어를 통해서 만들 수 있다.

나는 게시판 board와 user 프로젝트를 만들었다.

그리고 여기서 주의할 사항!

생성된 프로젝트 안에 그 프로젝트 명을 선택하면 settings.py라는 것을 볼 수가 있다.

거기 들어가서

초기에는 board와 user가 없는 기본 형태를 볼 수 있을 것이다. 

즉, 앱을 생성할 때마다 저 부분에 추가를 해주어야한다.

 

앱까지 생성을 해보았으니, 이제 회원 DB를 위한 단계를 진행해보자.

우리는 user라는 앱을 만들었다. 이는 회원을 위한 것이다.

class User(models.Model):
    username = models.CharField(max_length=64, verbose_name="사용자명")
    password = models.CharField(max_length=64, verbose_name="비밀번호")
    registered_dttm = models.DateTimeField(auto_now_add=True, verbose_name="등록시간")

    class Meta:
        db_table = 'user'

이는 user 앱 하단에 models.py에 작성을 한다.

기본 틀에는 #Create your models here. 만 있을 것이다.

코드는 사용자, 비밀번호, 등록시간에 해당해서만 일단 코드를 작성했다.

여기까지 작성해보았으니 이제 database 관리를 위한 단계를 진행해보자.

 

python manage.py makemigrations 

이를 통해서 마이그래이션을 만든다.

0001_initial.py 가 생성되는 것을 볼 수 있을 것이다.

위에서 앱 생성하고 작성을 settings.py에 작성을 안하면

No changes detected 라는 것을 볼 수 있으니 주의하자.

 

생성이 되었으면

python manage.py migrate

이 명령어를 입력하면

터미널에서는 저런 화면과, 왼쪽에는 db.sqlite3이 생성된 것을 볼 수가 있다.

 

이제 Database를 확인해보자

sqlite3 db.sqlite3 #터미널에 입력

아래 명령어를 차례로 입력하면 models.py에 작성한대로 들어가있는 것을 볼 수가 있다.

.tables
.schema user

sqlite3에서 벗어나려면 .q를 입력하자.

models.py에서 예로 max_length를 32로 변경해보자. 이를 db에 적용시키려면 어떻게 해야하는가?

위와 같이 python manage.py makemigrations를 통해서 Alter field username on user를 확인할 수가 있다.

python manage.py migrate를 통해 이어서 적용시키면 된다.

 

이제 프로젝트와 DB는 생성을 해보았으니 페이지 접속을 한 번 해보자

python manage.py runserver

이 명령어를 터미널에 입력하면 주소가 뜰 것이다.

http://127.0.0.1:8000/ 이와 같은 것을 볼 수 있다.

 

이와 같이 성공적으로 접속할 수 있다.

이제 페이자 관리를 위해 admin에 대해 알아보자

위 주소뒤에 /admin을 입력해서 접속하면 장고 관리자 로그인 창이 뜰 것인데,

이제 관리자 아이디와 비밀번호 생성하는 것에 대해 알아보자

python manage.py createsuperuser

이를 통해서 관리자 아이디, 이메일, 비밀번호를 입력하면 관리자 계정이 생성된다.

runserver에서 벗어나려면 ctrl + c임을 알아두자.

위의 admin주소를 통해서 로그인하면 위와같은 화면이 뜰 것이다.

다음시간에는 admin 도구를 통해 만든 model들을 어떻게 관리할 것인지 알아보자.

728x90
반응형

'Django' 카테고리의 다른 글

Django 기초06. static 관리  (0) 2019.11.21
Django 기초 05. 이메일 필드 추가  (0) 2019.11.20
Django 기초 04. 회원가입  (0) 2019.11.20
Django 기초 3. admin 활용  (0) 2019.11.20
Django 기초 1. 장고 환경 설정 및 설치  (0) 2019.11.19
Comments