django | 1. HTML 띄우기

sojung·2021년 5월 21일
1

django

목록 보기
2/21
post-thumbnail

진행상황 : djangoMaster 프로젝트 생성

settings.py 설정

# settings.py

import os

...

TEMPLATES = [
	'DIRS': [os.path.join(BASE_DIR, '[디렉토리 이름]', 'templates')],

]

코드를 추가해준다.
현재 디렉토리는 djangoMaster이므로

TEMPLATES = [
	'DIRS': [os.path.join(BASE_DIR, '[디렉토리 이름]', 'templates')],

라고 코드를 추가하면
C:/......./djangoMaster까지의 경로를 BASE_DIR에 저장한다는 것이다. 따라서 뒤에 views.py에서 경로를 입력할 때 앞에 자세한 경로를 생략하고 main.html라고만 적으면 자동으로 djangoMaster에서 templates폴더를 찾아서 그 안에 main.html을 실행한다.
따라서 추가하지 않으면 templates 폴더를 찾을 수 없다.


HTML 만들기

djangoMaster>templates>main.html 만들기

<h1>앱 사용하지 않고 main.html 띄우기</h1>

라고 작성한다.

함수 만들기

djangoMaster>views.py 파일을 생성한다.

# views.py

from django.shortcuts import render

def main(request):
  return render(request, 'main.html')

경로 만들기

# urls.py

from . import views # 모든 경로에서 views를 가져온다.

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', views.main), # views.py의 main함수를 의미한다.
]

라고 쓸 수 있다. 다른 방법으로는

# urls.py

from .views import main # 루트 디렉토리의 views에서 main함수를 가져온다.
# 여기서 디렉토리는 djangoMaster
# 따라서 djangoMaster>views.py에서 main을 가져온다.

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', main), # views.py의 main함수를 의미한다.
]

경로가 많아지면 path에 views.을 계속 쓰는 것이 번거롭다.

# urls.py

from .views import * # 루트 디렉토리의 views에서 모든 함수를 가져온다.
# djangoMaster>views.py에서 모든 함수를 가져온다.

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', main), # views.py의 main함수를 의미한다.
]

이렇게 쓰면 모든 함수를 views에서 불러온다는 의미이다.

http://127.0.0.1:8000에 접속하면

main.html이 잘 실행되었다.

장고 개발 흐름 정리하기

웹 브라우저 주소창에 url이 입력되면
-> urls.py에 가서 함수 이름을 확인하고, views.py의 해당 함수를 호출한다.
-> views.py에서 해당 함수를 실행하여 함수 실행 결과를 웹 브라우저에 전달한다.

profile
걸음마코더

0개의 댓글