본문 바로가기
📱Web & Mobile/Flask

[Flask] Template View

by inbeom 2023. 8. 20.
728x90

💡 Flask로 페이지 링크 및 파라미터 전송

1. 'templates’이름의 폴더 생성하여 밑에 view파일 생성 

2. 함수에서 View를 리턴시키기 위해서는 render_template를 import 해야 함.

3. URL매핑 시 Parameter를 받기 위해서는 request를 import 해야 함. 

4. HTML 페이지 리턴 return render_template('home.html')

5. Parameter추출 keyword = request.args.get('keyword') 

6. HTML페이지 리턴 시 값을 같이 넘겨줌 return render_template('search.html', keyword=keyword)

7. HTML에서 {{keyword}} 를 이용하여 받은 값 출력

Code >

Python

from flask import Flask, render_template, request

app = Flask("HelloFlask")

@app.route("/")
def home():
    return render_template('home.html')

@app.route("/search")
def search():
    print(request.args)
    print(request.args.get('keyword'))

    keyword = request.args.get('keyword')
    
    return render_template('search.html', keyword=keyword)

app.run("0.0.0.0")

HTML

<!DOCTYPE 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>search</title>
</head>
<body>
    <h1>Search~! {{keyword}}</h1>

		{% for job in jobs %}
            <tr>
                <td>{{job.title}}</td>
                <td>{{job.company}}</td>
                <td>{{job.location}}</td>
                <td><a href="{{job.link}}" target="_blank">Apply &rarr;</a></td>
            </tr>
        {% endfor %}

</body>
</html>

jobs라는 파라미터를 받아와 Flask문법의 for문으로 반복하여 출력

{% for job in jobs %}
    <tr>
         <td>{{job.title}}</td>
         <td>{{job.company}}</td>
         <td>{{job.location}}</td>
         <td><a href="{{job.link}}" target="_blank">Apply &rarr;</a></td>
    </tr>
{% endfor %}

 

728x90

'📱Web & Mobile > Flask' 카테고리의 다른 글

[Flask] ChatBot-API  (0) 2023.08.20
[Flask] APScheduler  (0) 2023.08.20
[Flask] 기본 사용법  (0) 2023.08.20
[Flask] Flask란?  (0) 2023.08.20