django | 2. APP>HTML 띄우기

sojung·2021년 5월 21일
0

django

목록 보기
3/21
post-thumbnail

<진행사항>
djangoMaster 생성

앱 만들기

터미널에

python manage.py startapp [앱 이름]

python manage.py startapp home

앱 이름과 같은 폴더가 생성된다

앱을 만들면 꼭 해줘야 하는 과정이 있는데 바로 settings.py의 INSTALLED_APP 안에 앱을 추가하는 것

# djangoMaster>settings.py

INSTALLED_APP=[

	...
    
    'home',
]

HTML 만들기

home 앱 안에 templates 폴더 만들기>templates 폴더 안에 home 폴더 만들기>home 폴더 안에 hello.html 파일 만들기
-> home>templates>home>hello.html

<!-- home>hello.html -->

<h1>hello앱 안에 hello.html이야</h1>

templates 안에 home 폴더 만든 이유 : render에서 HTML 등 파일을 가져올 때 templates이름의 폴더에서 가져오는데, 만약 다른 앱(폴더)에 똑같은 이름의 다른 html이 있다면 다른 html을 가져올 수 있음->경로 확실하게 해줌

장고는 앱 하위에 있는 templates 디렉토리를 자동으로 템플릿 디렉토리로 인식한다.


함수 만들기

함수(hello) 이름과 파일(hello.html) 이름을 동일하게 해준다.
해당 views에서 요청을 처리하여 응답을 한다.

함수 만들기

  • 함수로 view 짜기
  • 클래스로 view 짜기

함수로 view를 짜보면

# home>views.py

def hello(request):
  return render(request, '[어떤 HTML을 띄어줄건지-HTML경로가 들어가야함]')

def hello(request):
  return render(request, 'home/hello.html')

home 앱 안에 hello.html을 가져온다.

경로 만들기

# djangoMaster>urls.py

urlpatterns = {
   path('',어디로가야하죠),
}

함수 가져오기

# djangoMaster>urls.py

from home.views import hello # home 앱 안의 views로부터 hello함수를 가져온다. hello 대신 *로 대체 가능하다.

...

urlpatterns = {
	path('go_hello',hello), # 경로가 없을 때 hello이라는 함수로 가라
}

go_hello 경로일 때 hello라는 함수를 실행하고,
hello는 home 앱 안에 있는 views.py에 있는 hello라는 함수이다.
-> home의 views.py에 있는 hello 함수로 가면 home 앱 안에 hello.html을 반환한다.

http://127.0.0.1:8000/go_hello 로 들어가면

정상적으로 출력된다.

profile
걸음마코더

0개의 댓글