밤하늘공작소

[Django 웹페이지] Template Rendering (2) 본문

코딩/Django

[Django 웹페이지] Template Rendering (2)

밤하늘공작소 2022. 6. 1. 08:25

전에는 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 웹페이지] views.py·urls.py (1)

반응형
Comments