본문 바로가기

Python/Django

[Django] Django - Tags(for, if)

이번에는 태그에 대해서 알아보겠습니다.

 

태그에는 기본적으로 for 루프, CSRF 토큰, if else, URL 연결등 만흔 기능이 있습니다.

 

 

./my_site/my_app/views.py 

 

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

 

 

for 문 예제 - ./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>{{some_list}}</h2>
    
    {% for item in some_list %}
        <p>{{item}}</p>
    {% endfor %}
    <ul>
        {% for item in some_list %}
            <li>{{item}}</li>
        {% endfor %}
    </ul>
    <h2>{{some_dict}}</h2>
    <ul>
        {% for k,v in some_dict.items %}
            <li>{{k}}, {{v}}</li>
            <li>{{v}}</li>
        {% endfor %}
    </ul>
</body>
</html>

 

 

결과 화면

 

 

 

if 문 예제 - ./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>

    {% if user_logged_in %}
        <h2>Welcome back you are logged in</h2>
    {% endif %}

    {% if user_logged_out %}
        <h2>Welcome back you are logged in</h2>
    {% else %}
        <h2>You need to log in</h2>
    {% endif %}

    {% for num in some_list %}
        {% if num == 2 %}
            <li>TWO</li>
        {% else %}
            <li>{{num}}</li>
        {% endif %}
    {% endfor %}

</body>
</html>

 

 

결과 화면

 

'Python > Django' 카테고리의 다른 글

[Django] Django - 상속(block)  (0) 2022.10.27
[Django] Django - Tags(url)  (0) 2022.10.27
[Django] Django - filter  (0) 2022.10.27
[Django] Django - variable 전달  (0) 2022.10.26
[Django] Django - (맛보기 migrate)App별 template 디렉토리  (0) 2022.10.25