웹개발/Flask

flask, url_for, URL 구축하기

Olivia-BlackCherry 2022. 11. 17. 17:22

url_for

url_for을 이용하여 하이퍼링크를 만들어보자.

<a href="{{ url_for('home') }}">홈으로</a>

1) 기본: <a href= {{ }}> </a>
2) {{ }} 안에 url_for함수 넣기
3) url_for 함수의 인자로 라우트 함수 넣기

<a href="{{ url_for('home', num=3) }}">홈으로</a>

4)url_for 함수 안에 키워드 매개변수 넣기


main.py

import requests

app= Flask(__name__)

@app.route('/<num>')
def home(num):
    return "hello"

@app.route('/blog')
def my_blog():
    blog_url = "https://api.npoint.io/856de95eec43713720cd"
    response = requests.get(url=blog_url)
    print(response.raise_for_status())
    datas = response.json()
    return render_template("practice.html", blog_datas=datas)

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


최종 practice.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% for data in blog_datas: %}
        {% if data["id"]==1: %}
        <h1>{{ data['title'] }}</h1>
        <h2>{{ data['subtitle'] }}</h2>
        <p>{{ data['body'] }}</p>
        {% endif %}
    {% endfor %}
    <a href="{{ url_for('home', num=3) }}">홈으로</a>

</body>
</html>


blog 화면> 홈으로를 누르면


홈화면이 나온다.