본문 바로가기

Python/Django

[Django] Django - variable 전달

이번에는 뷰에서 html 로 값을 전달하는 방법에 대해서 알아보겠습니다.

 

 

 

./my_site/my_app/views.py 생성

 

from django.shortcuts import render

# Create your views here.
def example_view(request):
    # my_app/templates/my_app/example.html
    # render 내부의 폴더는 상기 주석의 후반부 의미함. 전반부는 프로젝트의 settings.py 에서 설정함
    return render(request, 'my_app/example.html')

def variable_view(request):
    my_var = {'first_name':'Rosaland', 'last_name':'Franklin', 
        'some_list':[1,2,3], 'some_dict':{'inside_key':'inside_value'}
    }
    return render(request, 'my_app/variable.html', context=my_var)

 

 

./my_site/my_app/urls.py 수정

 

from django.urls import path
from . import views

urlpatterns = [
    path('', views.example_view), # domain.com/my_app
    path('variable/', views.variable_view), # 추가, domain.com/my_app/variable
]

 

 

./my_site/my_app/templates/my_app/variable.html 생성

 

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>variable</title>
</head>
<body>
    <h1>VARIABLE.HTML</h1>
    <h2>{{first_name}} {{last_name}}</h2>
    <h2>{{some_list}}</h2>
    <h2>{{some_list.0}}</h2>
    <h2>{{some_list.1}}</h2>
    <h2>{{some_list.2}}</h2>
    <h2>{{some_dict}}</h2>
    <h2>{{some_dict.inside_key}}</h2>
</body>
</html>

 

 

서버 실행 화면