지난 포스팅에서 우리는 views.py의 문자열을 통해 HTML 코드를 반환하는 방법을 보았습니다 . 문자열을 통해 전체 HTML 코드를 전달하는 것은 좋은 생각이 아닙니다.
왜냐하면 HTML로 전체 웹페이지를 디자인해야 한다면 코드의 가독성이 떨어지기 때문에 HttpResponse 함수를 통해 전체 코드를 전달하면 안 되기 때문입니다 . 따라서 HttpResponse 함수를 통해 전체 코드를 전달하는 대신 별도의 HTML 파일을 생성하겠습니다.
이 튜토리얼에서는 django 프로젝트에 별도의 템플릿(HTML)을 추가하는 방법을 살펴보겠습니다.
템플릿은 이러한 Python(views.py)에서 HTML을 분리하는 방법일 뿐만 아니라 해당 템플릿 내에 일부 Django 코드를 플러그인할 수 있는 옵션도 제공하므로 이는 단순한 HTML 파일이 아닙니다. 템플릿이라는 이름 . 우리는 앞으로 나올 Django 기사에서 템플릿에 관해 많은 것을 배울 것입니다.
프런트엔드용 별도 HTML 파일 생성(템플릿)
프로젝트에서 템플릿을 보관할 폴더를 만들어야 합니다. 따라서 Manage.py 파일이 있는 프로젝트의 최상위 수준으로 이동하여 템플릿이라는 폴더를 만듭니다. 다음과 같습니다:
이제 해당 템플릿 폴더 안에 첫 번째 HTML 파일을 추가해 보겠습니다. 이 파일을 홈페이지로 만든 다음 home.html 이라고 부르겠다고 가정해 보겠습니다.
이제 우리의 임무는 누군가가 홈페이지를 요청할 때 이를 home.html로 보내는 방법입니다 .
이를 수행하려면 아래 단계를 따르십시오.
1단계: 먼저 settings.py를 수정하여 서버에 새 템플릿을 추가했음을 알려야 합니다. 그러니 settings.py를 열고 TEMPLATES 라는 변수로 이동하세요 . 내부에는 DIRS가 있습니다 . 이제 DIRS 앞에 대괄호가 표시됩니다 .
이 작은 괄호는 템플릿을 찾아야 하는 장소의 목록이 될 것입니다. 그러면 해당 괄호 안에 템플릿 디렉터리를 추가해 보겠습니다.
2단계: 누군가 귀하의 웹사이트를 요청할 때 우리는 알기 때문에 urls.py 파일 의 URLPATTERNS를 확인하여 요청한 URL 에 대한 경로가 존재하는지 여부를 확인합니다. 그래서 우리는 홈페이지에 대한 경로를 만들어야 합니다.
위 스크린샷에서는 홈페이지 경로를 설정했습니다. 누구든지 우리 웹사이트를 요청하면 해당 요청이 views.home 기능 으로 전송됩니다 .
3단계: 위 단계에서는 views.home 함수 에 요청을 보내 므로 views.py 내부에 home 함수가 있어야 합니다 . 이전 튜토리얼에서 이미 생성했습니다. views.py가 없으면 이를 생성하고 다음과 같이 홈 기능을 추가하세요.
이제 우리는 무언가를 반환하는 홈 함수를 갖게 되었습니다.
해당 HTML 파일을 열려면 렌더링 함수를 사용해야 하며 렌더링 함수는 두 개의 매개변수를 사용합니다. 첫 번째는 요청 개체이고 두 번째는 열려는 HTML 파일의 이름입니다. 렌더링 기능을 사용하려면 다음과 같은 이유 때문에 무언가를 가져와야 합니다.
django.shortcuts에서 렌더 가져오기
이제 우리는 프로젝트를 실행할 준비가 되었습니다. 그러기 위해서는 먼저 서버를 실행해야 합니다. 따라서 터미널이나 명령 프롬프트를 열고 프로젝트 디렉터리의 루트로 이동하여 이 명령을 실행하세요.
python3 manage.py runserver
( Ubuntu 18.04 와 같이 시스템에 Python 2와 Python 3이 모두 설치된 경우 )
또는
python manage.py runserver
이제 위 이미지의 다음 링크를 사용하여 웹사이트를 엽니다.
마지막으로 브라우저에서 HTML 템플릿을 열었습니다.
앞서 이 HTML 파일은 일반적인 HTML 파일이 아니라고 언급했듯이 실제로 이 HTML 내에서 일부 Python 코드를 실행할 수 있습니다.
예를 들어: views.py 에서 home.html 로 특별한 정보를 보내고 싶다고 가정 하면 아래 이미지에 표시된 것처럼 렌더링 기능 을 통해 사전을 전달할 수 있습니다 .
그래서 우리는 여기에 키 = 이름이 있고 해당 키와 관련된 값이 있는 사전을 전달하는 것은 미친 프로그래머입니다.
이제 HTML 템플릿에 이 정보를 어떻게 표시할 수 있는지 살펴보겠습니다.
home.html 템플릿을 열고 아래 스크린샷과 같이 편집하세요.
따라서 여기서는 해당 키 이름에 할당된 값을 보여 드리겠습니다 . 두 개의 중괄호 안에 키를 전달하면 해당 키의 값이 제공됩니다 . 그럼 브라우저에서 실행해 볼까요?
이것이 Python 함수의 일부 정보를 django의 HTML 템플릿으로 전달할 수 있는 방법입니다.
'Python-django' 카테고리의 다른 글
Django 프로젝트 투어 (1) | 2024.01.27 |
---|---|
Django 사용자 정의 웹페이지 (1) | 2024.01.27 |
Django의 템플릿 양식에서 뷰로 데이터를 가져오는 방법 (1) | 2024.01.27 |
Django 프로젝트를 위한 가상 환경 작업 (0) | 2024.01.27 |
Django에서 앱 작업하기 (1) | 2024.01.25 |