ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Django] 서버 구동하기 (feat. migration) 및 관리자 생성
    파이썬/Django 2022. 12. 5. 18:33
    728x90
    반응형

    Django 서버 구동하기

    프로젝트를 생성하고 나면 터미널에서 아래를 입력해서 서버를 구동해보자.

    python manage.py runserver

    참고로 서버를 종료하는 명령은 control+C 이다.

    manage.py 파일은 터미널에서 django를 실행시키는 파일이다.

     

    서버를 구동하면 아래 세가지 현상을 볼 수 있다.

     

    1. http://127.0.0.1:8000 이라는 링크가 뜬다.

    위 주소로 들어가보면 서버가 생성된 것을 볼 수 있다.

     

    2. 아래와 같은 문자가 빨간색으로 뜰 것이다. 

    You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them.

    서버를 구동했을 때 나오는 빨간색 글자의 의미는 18가지의 migration들을 아직 적용해주지 않았다는 의미인데 데이터베이스를 수정해주지 않아서 그런 것이다. 서버 구동하면서 자동으로 생긴 db.sqlite3 파일을 확인하면 비어있는 것을 볼 수 있다.

     

    3. 프로젝트 폴더 내에 db.sqlite3 라는 폴더가 생성된다.

    db.sqlite3 은 데이터베이스 파일이다.

     

    4. 관리자 페이지 8000/admin

    주소에서 ...:8000/admin 으로 들어가보면 관리자 페이지를 볼 수 있다. 근데 이제 오류가 뜨는..

    오류가 뜨는 이유는 migrate를 아직 해주지 않았기 때문이다.

    migrate는 DB를 수정해주는 명령어이다.

     

    migrate : DB파일 수정하기

    18개의 migration 실행시키기

    먼저 서버를 끄고(ctrl+c) 터미널에 아래 명령어를 입력한다.

    python manage.py migrate

    그리고 다시 서버를 구동해 보면(runserver) 아까 나왔던 빨간 글자들(18 migration 어쩌구)이 더이상 안나온다.

    8000/admin 관리자 페이지 또한 오류없이 제대로 나오는 것을 볼 수 있다.

     

    migration이 뭐지?
    migration은 DB의 state를 수정해주는 것이다.

    관리자 유저 생성하기

    python manage.py createsuperuser

    터미널에 위 명령어를 입력하면 아이디 패스워드 등 유저 정보를 입력하라고 대화형식으로 뜨는데 차례대로 정보를 입력하고 유저 생성을 완료한다.

    그리고 어드민 페이지에 들어가서 입력했던대로 아이디 패스워드를 입력하면 로그인에 성공할 것임.

    LIST
Designed by Tistory.