web2py는 파이썬 웹 프레임워크로, 웹 애플리케이션을 개발할 때 사용할 수 있는 강력한 기능을 제공합니다. 그 중 하나는 템플릿 언어입니다. 템플릿 언어는 HTML 문서 안에 파이썬 코드를 삽입하여 동적인 웹 페이지를 생성하는 데 사용됩니다.
템플릿 언어의 기본 구문
web2py의 템플릿 언어는 간단하고 직관적인 구문을 가지고 있습니다. 다음은 템플릿 언어의 기본 구문 예시입니다.
변수 출력
변수를 출력하려면 중괄호({{}}
) 안에 변수 이름을 넣습니다.
<h1>Hello, {{ name }}</h1>
위의 코드는 name
이라는 변수의 값을 출력합니다.
조건문
조건문을 사용하여 특정 조건에 따라 다른 내용을 표시할 수 있습니다. 예를 들어, age
변수의 값에 따라 “성인” 또는 “미성년자”를 표시하는 예제는 다음과 같습니다.
{% if age >= 18 %}
<p>당신은 성인입니다.</p>
{% else %}
<p>당신은 미성년자입니다.</p>
{% endif %}
반복문
반복문을 사용하여 리스트나 딕셔너리와 같은 컬렉션의 요소를 반복적으로 출력할 수 있습니다. 예를 들어, fruits
라는 리스트의 모든 과일을 출력하는 예제는 다음과 같습니다.
<ul>
{% for fruit in fruits %}
<li>{{ fruit }}</li>
{% endfor %}
</ul>
위의 코드는 fruits
리스트의 각 요소를 <li>
태그로 묶어서 리스트로 표시합니다.
템플릿 언어 활용 예제
아래는 템플릿 언어를 실제로 활용한 예제입니다. username
에 사용자 이름을 전달받아 HTML 문서에 동적으로 표시하는 간단한 웹 페이지를 생성하는 예제입니다.
def profile():
username = request.args(0)
return dict(username=username, age=25, email='example@example.com')
위의 코드는 사용자 이름을 username
변수에 저장하고, profile.html
이라는 템플릿 파일에 변수를 전달합니다. 아래는 profile.html
의 내용입니다.
<!DOCTYPE html>
<html>
<head>
<title>User Profile</title>
</head>
<body>
<h1>Welcome, {{ username }}!</h1>
<p>Age: {{ age }}</p>
<p>Email: {{ email }}</p>
</body>
</html>
위의 코드는 username
, age
, email
변수를 템플릿 언어를 사용하여 동적으로 출력합니다.
결론
web2py의 템플릿 언어를 이용하면 동적인 웹 페이지를 쉽고 간편하게 생성할 수 있습니다. 변수 출력, 조건문, 반복문을 활용하여 웹 애플리케이션을 보다 유연하게 개발할 수 있습니다. web2py를 활용하여 다양한 웹 애플리케이션을 만들어보세요!