[파이썬][Django] 컨텍스트 데이터 전달 함수 사용 방법과 예제
Django에서 컨텍스트 데이터를 전달하는 함수를 사용하여 템플릿에 데이터를 동적으로 전달하는 방법과 예제를 제공하겠습니다. 컨텍스트 데이터는 템플릿에서 사용할 변수 및 정보를 포함하는 데 사용됩니다.
-
템플릿 작성
먼저, Django 템플릿을 작성합니다. 이 템플릿에는 컨텍스트 데이터를 사용할 변수들이 포함될 것입니다. 예를 들어:
<pre>
<code>
<!-- myapp/templates/my_template.html -->
<!DOCTYPE html>
<html>
<head>
<title>{{ page_title }}</title>
</head>
<body>
<h1>Welcome, {{ user_name }}!</h1>
<p>{{ message }}</p>
</body>
</html>
</code>
</pre>
-
컨텍스트 데이터 전달 함수 작성
컨텍스트 데이터를 전달하는 함수를 작성합니다. 이 함수는 컨텍스트 딕셔너리를 반환해야 합니다. 예를 들어:
# myapp/views.py
def get_context_data():
context = {
'page_title': 'My Page',
'user_name': 'John',
'message': 'This is a sample message.',
}
return context
-
컨텍스트 데이터 전달 함수 사용
템플릿을 렌더링할 뷰 함수에서 컨텍스트 데이터 전달 함수를 호출하여 데이터를 가져옵니다.
# myapp/views.py
from django.shortcuts import render
def render_my_template(request):
context = get_context_data()
return render(request, 'my_template.html', context)
-
템플릿 렌더링 함수 호출
뷰 함수를 호출하면 컨텍스트 데이터가 템플릿에 전달되어 동적인 웹 페이지가 생성됩니다.
from myapp.views import render_my_template
def my_view(request):
return render_my_template(request)
이제 my_template.html
템플릿은 page_title
, user_name
, message
와 같은 변수를 사용하여 동적으로 생성된 웹 페이지를 표시합니다.
컨텍스트 데이터 전달 함수를 사용하면 템플릿에 동적 데이터를 전달하고, 템플릿과 뷰 함수를 효율적으로 분리할 수 있습니다. 이것은 Django 웹 애플리케이션을 개발하는 데 매우 유용합니다.