본문 바로가기
Development/Web Develop

Flask, Jinja를 이용한 블로그 만들기 <Dr.Angela - Python Day59>

by Barcy 2024. 7. 31.


include 사용해 jinja 템플릿 렌더링하기

{% include "header.html" %}
<body>
</body>
{%include "footer.html"%}

이런식으로 다른 header, footer를 다른 html파일에서 불러와 렌더링 할 수 있음.

더 깔끔한듯

이렇게 하면 수정할 일이 있을 때 다른 html파일에서도 똑같은 header, footer를 사용할 수 있어서 일일이 다 수정 안해도 됌.

Routing?

라우팅은 웹 애플리케이션이 특정 URL 요청에 대해 어떤 코드를 실행할지 결정하는 과정입니다. 이를 위해 URL 패턴을 특정 함수나 메소드에 연결합니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, World!"

@app.route('/about')
def about():
    return "This is the about page."

if __name__ == '__main__':
    app.run(debug=True)

Mapping?

  • 클라이언트가 특정 URL을 요청하면, Flask는 해당 URL 패턴을 찾고, 매핑된 함수를 실행합니다.
  • 예를 들어, 클라이언트가 /about URL을 요청하면, Flask는 이 URL을 about 함수에 매핑하고, 그 결과를 클라이언트에 반환합니다.

Jinja template를 이용한 반복문

여러 포스트를 작성할때

{% for data in datas %}
<div class="post-preview">
    <a href="post.html">
        <h2 class="post-title">{{ data.title }}</h2>
        <h3 class="post-subtitle">{{ data.subtitle }}</h3>
    </a>
    <p class="post-meta">
        Posted by
        <a href="#!">Start Bootstrap</a>
        on September 24, 2023
    </p>
</div>
<!-- Divider-->
<hr class="my-4" />
{% endfor %}

이런식으로 반복문 사용 가능