밤하늘공작소

[Django 프로젝트] 앱 생성 (2) 본문

코딩/Django

[Django 프로젝트] 앱 생성 (2)

밤하늘공작소 2022. 5. 9. 16:15

이번에는 django 앱을 만들어보겠습니다. 

 

먼저 프로젝트와 앱을 비교하겠습니다. 

우선 프로젝트는 어떠한 웹사이트 즉 웹 서비스 전체이고, 앱은 프로젝트 안의 기능입니다. 

 


 

우선 프로젝트의 루트 디렉토리로 이동하겠습니다. 

$ cd django-test/test_project

ls 커맨드를 이용해서 그 폴더를 보았을 때 manage.py가 있는 위치입니다. 

 

이곳에서 이 명령어를 치면 앱이 생성됩니다. 

$ python3 manage.py startapp tests

python3 manage.py startapp {앱 이름}을 해주면 됩니다. test는 다른 python 모듈과 겹치기 때문에 tests로 해주겠습니다. 

 

이곳에서 vscode로 들어가서 어떻게 생겼는지 보겠습니다. 

$ code .

보면 tests 폴더가 생겼고 그 안에 여러 ~.py들이 생긴 것을 볼 수 있습니다. 

 

여기서는 중심적으로 알아야 할 것은 models.py와 views.py입니다. models.py에서 데이터 모델 정의 등과 관련된 일을 하고, views.py에서 메인적으로 로직 처리를 합니다. 그 외에도 admin.py가 admin 페이지에 쓰이고, test.py는 테스트하는 데 사용됩니다. 또 migrations 폴더는 데이터베이스의 변동을 기록하는 migration들을 모아두는 곳입니다. 

 


 

이제 앱을 '만드는' 것은 다 끝났습니다. 그런데 이렇게 끝내면 분명 에러가 날 것입니다. 왜냐하면 django에서는 새로운 앱을 만들거나 앱을 다운로드를 하였다면, django에게 새로운 앱을 만들었다는 사실을 알려 줘야 하기 때문에 이제 '알려주는' 것을 해보겠습니다. 

 

알려주는 것을 쉽습니다. 우리의 프로젝트 디렉토리(프로젝트 안에 프로젝트 이름과 똑같은 폴더를 말합니다.) 안에 있는 settings.py를 열어보겠습니다. 

기본적으로 많은 코드가 작성되어있지만, 좀 내려가 보면 INSTALLED_APPS라는 곳이 보입니다. 그 중가로 안에 우리의 앱을 새로 넣어주겠습니다. 

또 여기서 팁은 여기 이 ","(콤마)를 안 적어서 에러가 많이 납니다. 그렇기 때문에 새로 추가할 때 그냥 뒤에 ","를 붙여놓는 것을 추천드립니다. 

 


 

이전 글 : [Django 프로젝트] 프로젝트 생성 (1)

다음 글 : [Django 웹페이지] views.py·urls.py (1)

반응형
Comments