이 포스팅에서는 django에서 첫 번째 사용자 정의 웹페이지를 만들어 보겠습니다. 이 문서의 주요 목표는 누군가가 특정 URL을 요청하는 경우 어떻게 올바른 위치로 라우팅하고 궁극적으로 일부 HTML을 반환하는지와 같이 django 웹 사이트의 전체 정보 흐름을 이해하는 것입니다.
따라서 이 포스팅을 시작하기 전에 프로젝트 디렉토리에서 python3 Manage.py runserver 명령을 사용하여 로컬 서버를 시작했다고 가정합니다 .
우리는 프로젝트를 생성하고 브라우저에서 실행할 때마다 django의 기본 페이지가 나타나는 것을 보았습니다.
그것은 우리의 창조물이 아닙니다.
이제 django에서 우리만의 웹페이지를 만드는 방법을 살펴보겠습니다.
이전 포스팅에서 우리는 누군가가 우리 웹사이트에서 URL을 찾을 때마다 이 “urls.py”가 나오는 것을 보았습니다.
현재 urlpatterns 목록에 admin/ 경로가 있습니다 . 즉, 사용자가 웹사이트(현재 = http://127.0.0.1:8000/)로 이동하여 URL에 /admin을 추가하면 사용자는 django 웹사이트의 관리 페이지로 리디렉션됩니다.
참고: 해당 domain-name/admin(현재 domain-name은 http://127.0.0.1:8000/)은 결국 데이터베이스 작업에 도움이 되지만 지금 당장은 걱정할 필요가 없습니다.
기존 웹페이지의 URL을 변경하는 방법
관리 페이지의 URL을 변경하고 싶다고 가정하고 urls.py 파일을 다음과 같이 수정할 수 있습니다.
이제 웹 브라우저를 열고 도메인 이름/admin(http://127.0.0.1:8000/admin)을 엽니다.
결과적으로 관리자 페이지의 주소를 변경했기 때문에 페이지를 찾을 수 없다는 오류가 발생합니다. 따라서 새 주소는 doman-name/mypage(http://127.0.0.1:8000/mypage)입니다. 이 주소를 열면 결과는 다음과 같습니다.
기존 웹페이지의 URL을 변경하는 방법입니다.
참고: django에서는 파일을 변경할 때마다 서버가 자동으로 다시 로드됩니다. 따라서 새로운 변경 사항을 적용하기 위해 서버를 중지하고 시작하기 위해 수동으로 돌아갈 필요가 없습니다.
Django에서 나만의 맞춤형 웹페이지 만들기
이제 우리의 임무는 우리만의 맞춤형 웹페이지를 만드는 것이므로 해보겠습니다.
첫째, 해당 관리 페이지가 필요하지 않으므로 해당 경로를 완전히 삭제하십시오.
실제로 admin이 더 이상 필요하지 않으므로 urls.py 에서 admin에 대한 첫 번째 줄을 삭제할 수 있습니다.
이제 우리 자신의 페이지에 대한 경로를 추가한다고 가정해 보겠습니다. 홈페이지라고 해보자. 따라서 누군가가 우리 웹사이트의 홈페이지를 방문하면 우리는 기본 django 템플릿 페이지 대신에 우리 자신의 맞춤 홈페이지를 보여줄 것입니다.
이렇게 하려면 urls.py를 열고 새 경로를 추가하세요. 기본적으로 누군가가 우리 홈페이지를 방문한다면 도메인 이름(http://127.0.0.1:8000/) 외에는 아무것도 필요하지 않다는 의미이므로 다음과 같이 경로에 빈 문자열을 넣습니다.
이제 경로에서 빈 문자열 뒤에 쉼표를 넣고 쉼표(,) 뒤에 누군가가 우리 홈페이지에 오면 사용자를 어디로 보내고 싶은지 보여주는 또 다른 항목을 추가하겠습니다.
여기에서 기본적으로 몇 가지 정보를 다시 보낼 수 있게 해주는 views.py 라는 새 파일을 만들어야 합니다 .
따라서 urls.py 가 있는 동일한 디렉터리에 새 파일을 만듭니다 . 이제 views.py 라는 새 파일이 생겼습니다 .
views.py를 urls.py 에 사용하려면 urls.py 파일 에서 views.py를 가져와야 합니다 . 따라서 urls.py를 열고 다음 줄을 추가하세요.
위 그림에서 점(.)은 현재 디렉터리를 의미합니다.
이제 urls.py 에 대한 경로를 호출하는 함수를 추가하세요.
누군가가 우리 홈페이지에 가면 views.py에 있는 'home' 함수를 호출하는 것으로 나타났습니다. 하지만 아직 views.py에는 home이라는 함수가 없습니다.
그럼 만들어 보겠습니다. views.py를 열고 home 이라는 새 함수를 추가합니다 .
여기에서는 홈 함수 에 요청 매개변수를 전달합니다. 누군가가 우리 웹사이트의 URL을 찾으러 올 때마다 기본적으로 그들이 찾고 있는 URL이 무엇인지, 일부 쿠키 및 사용 중인 브라우저와 같은 고급 정보를 알려주는 이 요청 객체를 보냅니다. . 따라서 해당 유형의 정보는 이 요청 개체를 통해 제공됩니다.
그런 다음 return 키워드를 사용하여 사용자에게 무언가를 반환합니다. 하지만 함수에서 간단한 문자열을 반환할 수는 없으므로 HTTP 응답을 반환해야 합니다. 따라서 이를 수행하려면 HttpResponse(string) 함수를 사용하고 HttpsResponse(string)를 사용하려면 다음을 사용 하여 일부 패키지를 가져와야 합니다.
django.http에서 HttpResponse 가져오기
이제 이 파일을 저장하고 웹사이트를 다시 로드하세요. 출력은 다음과 같습니다:
축하합니다. 홈페이지에 자체 창작물이 생겼습니다.
Django 웹사이트의 정보 흐름
누군가 우리 웹사이트의 홈페이지(http://127.0.0.1:8000/)를 열면 urls.py 파일 로 리디렉션됩니다 . Urls.py는 사용자가 입력한 URL을 확인합니다. 위의 예에서는 도메인 이름 뒤에 추가 문자열이 없습니다. 따라서 urlpatterns 에서는 빈 문자열을 확인하고 빈 문자열이 있는 경로가 하나 있으므로 빈 문자열이 있는 경로 에 작성된 함수 , 즉 우리의 경우 views.home으로 리디렉션됩니다 . 이제 views.py 의 home 함수가 마침내 'hello' 인 일부 HttpsResponse를 반환합니다 . 따라서 사용자는 자신이 요청한 정보를 갖게 됩니다.
이것이 django에서 정보의 흐름이 작동하는 방식입니다.
Django에서 여러 웹페이지 만들기
하나의 사용자 정의 웹페이지를 만들면서 고유한 주소가 할당된 웹페이지를 더 추가할 수도 있습니다.
urls.py를 열고 다음과 같은 새 경로를 추가하세요.
views.py를 열고 page1 에 대한 새 함수를 만듭니다 .
이것이 모두 입니다.
이제 domain-name/page1( http://127.0.0.1:8000/page1 ) 로 이동하면 여기에 귀하의 페이지가 있습니다 1:
이것이 바로 우리 웹사이트에 여러 페이지를 만들 수 있는 방법입니다.
실제로 우리가 반환하는 문자열은 HTML 이므로 다음과 같이 HTML 태그를 사용할 수도 있습니다 .
http://127.0.0.1:8000/page1 새로 고침
결론
이 포스팅을 읽고 사용한 후에는 모든 페이지에 사용자 정의 URL을 추가하는 방법, django 웹사이트에 사용자 정의 웹페이지 추가, django에서 여러 웹페이지 생성 및 django 웹사이트에서 가장 중요한 정보 흐름을 배우게 됩니다.
'Python-django' 카테고리의 다른 글
첫 번째 Django 프로젝트 만들기 (0) | 2024.01.27 |
---|---|
Django 프로젝트 투어 (1) | 2024.01.27 |
Django에 HTML 템플릿을 추가하는 방법 (0) | 2024.01.27 |
Django의 템플릿 양식에서 뷰로 데이터를 가져오는 방법 (1) | 2024.01.27 |
Django 프로젝트를 위한 가상 환경 작업 (0) | 2024.01.27 |