Django는 여러 개의 앱을 동시에 만들어 조립하는 과정으로 보실 수 있어요. 우리는 간단한 실습이기 때문에 main이라는 앱만을 만들 것입니다. 우선 서버가 동작되고 있으므로 Ctrl + C
버튼을 누르셔서 서버를 종료시킨 다음 아래 명령어를 실행시켜 주세요.
(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py startapp main
아무것도 뜨지 않은 채로 커서가 다음줄로 넘어가면 정상 동작 한 것입니다. 에러가 나오면 에러를 검색해서 에러명을 해결해주세요. 대부분 오타입니다.
Settings에 가셔서 설치되어 있는 앱 목록에 main을 추가해주세요. 이 작업을 하지 않으면 앱이 구동하지 않습니다. 여러 개의 앱을 만들 경우 모두 여기 등록해 주셔야 합니다.
INSTALLED_APPS=[
'main',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
<aside> 💡 'main' 뒤에 쉼표가 있으니 꼭 체킹해주세요.
</aside>
이제 urls.py를 작성할 것입니다. urls는 사용자가 어떤 url을 사용하여 들어오느냐에 따라 어떤 화면을 보여줄지를 결정하게 됩니다.
mysite > tutorialdjango > urls.py
from django.contrib import admin
from django.urls import path
from main.views import index
urlpatterns =[
path('admin/', admin.site.urls),
path('', index),
]
이 코드 중 path('', index)
의 의미는 사용자가 뒤에 무언가 붙지 않은 있는 그대로의 url을 입력하고 들어왔을 경우 main/views.py파일 안에 index라는 함수를 연결시켜 주겠다는 뜻입니다. 여기서 불러온 index는 함수이며, 아직 만들어지지 않았기 때문에 오류가 뜹니다. 이 index함수는 index.html
과 연결시켜 줄 것입니다.
<aside>
💡 다음과 같이 정의하면 나중에 url로 불러오기 편하지만, 코드 복잡도가 올라가기에, 초보자 분들이 하기 쉽도록 나중에 처리해주도록 하겠습니다.
path('', index, name='index')
</aside>
이제 mysite > main> views.py
로 들어와 index라는 함수를 만듭니다. 여기서 사용자가 index.html을 볼 수 있게끔 연결을 해줍니다.
mysite > main > views.py
from django.shortcuts import render
def index(request):
return render(request, 'main/index.html')