Django 템플릿 및 변수 속성 (Python, Django, Google App Engine)
Django 템플릿 및 변수 속성 (Python, Django, Google App Engine)
템플릿 변수
템플릿 변수는 템플릿에서 값을 표시하는 데 사용되는 특수 문자입니다. 템플릿 변수는 다음과 같이 {{ }} 로 표시됩니다.
{{ variable_name }}
예를 들어, 다음 템플릿은 "Hello, John!"라는 문자열을 출력합니다.
Hello, {{ name }}!
여기서 name
은 템플릿에 전달된 변수 이름입니다.
템플릿 변수는 사전, 객체 또는 함수를 참조할 수 있습니다. 예를 들어, 다음 템플릿은 사전에서 값을 표시합니다.
{{ person["name"] }}
다음 템플릿은 객체의 속성을 표시합니다.
{{ book.title }}
다음 템플릿은 함수를 호출하고 결과를 표시합니다.
{{ get_current_date() }}
템플릿 필터
템플릿 필터는 템플릿 변수의 값을 포맷하는 데 사용됩니다. 템플릿 필터는 다음과 같이 pipe (|) 문자 뒤에 표시됩니다.
{{ variable_name | filter_name }}
예를 들어, 다음 템플릿은 "John Doe"를 "DOE, JOHN"으로 변환합니다.
{{ name | upper }}
다음 템플릿은 "Hello, world!"를 "Hello, World!"로 변환합니다.
{{ message | capfirst }}
다음 템플릿은 123을 123.0으로 변환합니다.
{{ number | floatformat:2 }}
조건부 로직
조건부 로직을 사용하여 템플릿의 출력을 제어할 수 있습니다. Django 템플릿은 다음과 같은 조건부 태그를 제공합니다.
if
: 조건이 참일 때 블록을 렌더링합니다.elif
: 이전if
조건이 거짓이고 현재 조건이 참일 때 블록을 렌더링합니다.else
: 모든if
조건이 거짓일 때 블록을 렌더링합니다.endif
:if
,elif
,else
블록을 닫습니다.for
: 반복 가능한 객체를 반복합니다.endfor
:for
루프를 닫습니다.
예를 들어, 다음 템플릿은 사용자의 나이가 18세 이상인 경우 "You are old enough to vote."라는 문자열을 출력합니다.
{% if user.age >= 18 %}
You are old enough to vote.
{% else %}
You are not old enough to vote.
{% endif %}
Google App Engine에서 Django 템플릿 사용
Django 템플릿을 Google App Engine에서 사용하려면 다음 단계를 수행해야 합니다.
- Google App Engine SDK를 설치합니다.
- Django 프로젝트를 만듭니다.
- 템플릿을
templates
디렉토리에 저장합니다. settings.py
파일에서TEMPLATES
설정을 구성합니다.- 뷰 함수에서 템플릿을 렌더링합니다.
결론
Django 템플릿 예제 코드 (Python, Django, Google App Engine)
models.py
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=255)
age = models.IntegerField()
views.py
from django.shortcuts import render
from .models import Person
def index(request):
# Create a list of people
people = [
Person(name="John Doe", age=30),
Person(name="Jane Doe", age=25),
Person(name="Peter Jones", age=40),
]
# Render the index template and pass the list of people to the context
return render(request, "index.html", {"people": people})
templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django Template Example</title>
</head>
<body>
<h1>People</h1>
<ul>
{% for person in people %}
<li>
Name: {{ person.name }}<br>
Age: {{ person.age }}
</li>
{% endfor %}
</ul>
</body>
</html>
이 코드는 다음과 같은 작업을 수행합니다.
models.py
파일은Person
모델을 정의합니다. 이 모델은 이름과 나이라는 두 가지 속성을 가진 사람을 나타냅니다.views.py
파일은index
뷰 함수를 정의합니다. 이 함수는Person
모델의 인스턴스 목록을 만들고index.html
템플릿에 전달합니다.index.html
템플릿은for
루프를 사용하여people
변수에 저장된 사람 목록을 반복합니다. 루프의 각 반복에서 템플릿은 사람의 이름과 나이를 출력합니다.
이 코드는 Django 템플릿의 기본 기능을 보여주는 간단한 예일 뿐입니다. 템플릿 변수, 템플릿 필터, 조건부 로직을 사용하여 더 복잡한 템플릿을 만들 수 있습니다.
Google App Engine에서 실행
app.yaml
파일을 만들어 Google App Engine 응용 프로그램을 구성합니다.requirements.txt
파일을 만들어 Django 및 기타 필요한 라이브러리를 설치합니다.- 코드를 Google App Engine 프로젝트에 배포합니다.
추가 리소스
좀 더 자세한 정보를 알려주시면 제가 찾는 데 도움이 될 것 같습니다.
python django google-app-engine