python-flask-8. - HTML문에서 파이썬 함수 활용

dothouse·2024년 5월 14일

python_flask

목록 보기
9/11

0. HTML문에서 파이썬 함수 활용


git : https://github.com/dothouse/practice/tree/master/project1/web
Tool : python / python-flask / html /javascript / css

✅사용 파일

D:\song\practice\project1\web\jeju\views\select3_views.py
https://github.com/dothouse/project1/blob/master/web/jeju/views/select2_views.py

D:\song\practice\project1\web\jeju\templates\select\select3.html
https://github.com/dothouse/project1/blob/master/web/jeju/templates/select/select2.html

1. 넘어온 값들을 활용하여 html 구성

D:\song\practice\project1\web\jeju\templates\select\select3.html

⭕ CSS에 관한 설명은 생략




<h2> 숙소 정보를 확인하세요</h2>

    <div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
        {% if pension1_chk == 1 %}
        <div class="col">
            <ul class="list-group">
                <li class="list-group-item">
                    <h4>{{ pension1_score.name.values[0] }}</h4>
                    <hr>
                    {% if pension1_detail.rating != 0 %}
                    <p>리뷰평점 -> {{ pension1_detail.rating }}</p>
                    {% else %}
                    <p>리뷰평점 -> 미제공</p>
                    {% endif %}

                    <!-- filter.py에 쓴 함수 중 t_comma를 활용 -->
                    <p>30일 가격 -> {{ pension1_detail.price | t_comma }}</p>
                    <hr>

                    <p>주변 관광지 갯수 -> {{ pension1_score.tour_cnt.values[0] }}</p>
                    <p>주변 맛집 갯수 -> {{ pension1_score.food_cnt.values[0] }}</p>
                    <hr>

                    <!-- 해당 값이 있을때만 표기   -->
                    {% if select_value.hospital == 1 %}
                    <p>주변 병원 갯수 -> {{ pension1_score.hospital_cnt.values[0] }}</p>
                    {% endif %}
                    {% if select_value.parm == 1 %}
                    <p>주변 약국 갯수 -> {{ pension1_score.parm_cnt.values[0] }}</p>
                    {% endif %}
                    {% if select_value.mart == 1 %}
                    <p>주변 마트 갯수 -> {{ pension1_score.mart_cnt.values[0] }}</p>
                    {% endif %}
                    {% if select_value.bank == 1 %}
                    <p>주변 은행 갯수 -> {{ pension1_score.bank_cnt.values[0] }}</p>
                    {% endif %}
                    {% if select_value.police == 1 %}
                    <p>주변 경찰서 갯수 -> {{ pension1_score.police_cnt.values[0] }}</p>
                    {% endif %}
                    {% if select_value.gift == 1 %}
                    <p>주변 기념품샵 갯수 -> {{ pension1_score.gift_cnt.values[0] }}</p>
                    {% endif %}

                    <form action='pension' method="post"
                          class='dropdown-menu position-static d-grid gap-1 p-2 rounded-3 mx-0 shadow w-220px'>
                        <input type="hidden" name="pension_name" value="{{ pension1_score.name.values[0] }}">
                        <input type='submit' class="btn btn-primary" value='숙소 상세정보'>
                    </form>

                    <form action='tour' method="post"
                          class='dropdown-menu position-static d-grid gap-1 p-2 rounded-3 mx-0 shadow w-220px'>
                        <input type="hidden" name="finalPension" value="{{ pension1_score.name.values[0] }}">
                        <input type='submit' class="btn btn-success" value='관광정보'>
                    </form>
                </li>
            </ul>
        </div>

✅ flask활용시 html에서 일부 파이썬 문법 활용가능

  • {{ pension1_score.name.values[0] }}
    {{ 코드 }} 형식을 통해서 사용가능

1. 값 사용하기

{{ pension1_score.name.values[0] }}

select3_views.py에서 넘어온 pension1_score라는 dataframe에서 name 컬럼의 첫번째 값을 선택하기

2. if문

{% if pension1_detail.rating != 0 %}
<p>리뷰평점 -> {{ pension1_detail.rating }}</p>
{% else %}
<p>리뷰평점 -> 미제공</p>
{% endif %}
  • 형태
    {% if 조건문 %}
    {% elif 조건문 %}
    {% else 조건문 %}
    {% endif %} -> 반드시 들어가야함

pension1_detail.rating가 0 이 아닌경우
<p>리뷰평점 -> {{ pension1_detail.rating }}</p>실행

pension1_detail.rating가 0인 경우
<p>리뷰평점 -> 미제공</p> 실행

3. 사용자함수 사용하기

<!-- filter.py에 쓴 함수 중 t_comma를 활용 -->
<p>30일 가격 -> {{ pension1_detail.price | t_comma }}원</p>

{{ pension1_detail.price | t_comma }}

  • pension1_detail.price 값을 t_comma라는 함수 활용
profile
새로운 길

0개의 댓글