[파이썬] web2py에서의 템플릿 언어

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를 활용하여 다양한 웹 애플리케이션을 만들어보세요!