1. 메인 페이지

1.1. URL 설정

URL 라우팅

URL 라우팅이란 사용자의 요청 주소, 즉 URL에 따라 어떤 앱의 어떤 페이지를 보여줄지를 설정하는 것을 말합니다. 예를 들어 [프로젝트 URL]/admin/ 주소로 요청이 오면 admin앱의 페이지를 보여주는 식입니다.

이러한 설정이 MBIT/urls.py에 정의되어 있습니다.

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

[프로젝트 URL]/로 요청이 오면 우리가 만들 메인 페이지가 보이도록 해봅시다.

urls.py 를 다음과 같이 수정합니다.

from django.contrib import admin
from django.urls import path
from main import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index)
]

여기서 views.indexmain/views.py에서 작성할 함수입니다. 이 설정은 [프로젝트 경로]로 요청이 오면 main/views.py에 있는 index라는 함수를 실행하겠다는 의미입니다.

1.2. 뷰 함수 정의

main/views.pyindex 함수를 다음과 같이 정의합니다.

from .models import Question, Developer, Choice

def index(request):
    developers = Developer.objects.all()
    
    context = {
        'developers': developers,
    }
    
    return render(request, 'index.html', context=context)