밤하늘공작소
[Django 웹페이지] Template Rendering (2) 본문
전에는 views.py에서 이와 같은 코드를 적어서 사용했습니다.
def index(request):
return HttpResponse("<h2>Test! My First Webpage!</h2>")
이제는 더 많은 html 즉 html 파일을 리턴해보도록하겠습니다. (django에서는 이러한 html 파일을 Template라고 부릅니다.)
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-7707706289574207"
data-ad-slot="8901557723"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
우선 이러한 방식으로 폴더를 만들어줍니다.
tests(앱 폴더)
|_ templates(탬플릿 폴더)
|_ tests(앱 이름과 동일한 폴더)
이제 이 폴더 안에 html 파일을 만들어 주면 됩니다.
저는 간단하게 이런 구조로 해보겠습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello Django</title>
</head>
<body>
<h1>Hello Django</h1>
<p>Hello Django</p>
<a href="#">Hello Django</a>
</body>
</html>
index.html에 넣어줍니다.
이제 이것을 유저에게 보여주기만 하면 됩니다. 이것을 Rendering라고 합니다.
그것을 하려면 views.py에서 index 함수를 다음과 같이 바꾸어 주면 됩니다.
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return render(request, 'tests/index.html')
여기서 첫번째로는 request를 넘겨주고, 두번째로 경로를 넘겨주면 됩니다. (여기서 경로는 templates 폴더 안에서의 경로를 말합니다.)
이제 ubuntu에서 서버를 열고,
$ python3 manage.py runserver
전에 만든 경로인 "http://127.0.0.1:8000/test/home/"으로 들어가보면,
html 화면이 잘 뜨는 것을 볼 수 있습니다.
반응형
'코딩 > Django' 카테고리의 다른 글
Django에서 이메일 보내기 (3) | 2022.08.25 |
---|---|
[Django 웹페이지] views.py·urls.py (1) (0) | 2022.05.12 |
[Django 프로젝트] 앱 생성 (2) (0) | 2022.05.09 |
[Django 프로젝트] 프로젝트 생성 (1) (0) | 2022.05.05 |
[Django 초기 설정] 가상 환경 생성·적용 및 django 설치 (3) (0) | 2022.04.24 |
Comments