Jinja 마크업 언어를 배워보자.
지난 시간에는 한 줄로 작성하는 방법 ' {{ }} '을 배웠다면,
오늘은 for문과 if문처럼
여러 줄로 된 진자 코드를 작성하는 방법을 배우도록 하겠다.
npoint 웹사이트
이를 위해 npoint 웹사이트를 배울 것이다.
URL: npoint.io
npoint는 자신의 json데이터로 API를 만들 수 있는 사이트이다.
로그인, 회원가입, 인증키가 필요 없어 편리하다.
1) Json bin 생성하기
create JSON Bin을 클릭한다.
2) 데이터 입력하기
그리고 우리는 for문을 돌릴 것이므로, [ ] 리스트를 추가해준다.
[
{
"id": 1,
"title": "플라스크",
"subtitle": "플라스크 사용 방법",
"body": "플라스크 설치, 객체 만들기, 라우트 데코레이터 생성하기, 디버그 모드 실행하기"
},
{
"id": 2,
"title": "html 파일",
"subtitle": "html 파일 렌더링하기",
"body": "render template 함수 실행하기, template 폴더 만들고 이동하기, kwarg 넣기, 진자 템플레이팅 언어로 파이썬 코드 실행하기"
}
]
Json파일을 넣거나, 입력한 후 save를 클릭한다.
그리고나면 해당 URL을 입력하면 지금 페이지가 계속 나온다.
3) 형식 자동 고치기 & API 복사하기
autoformat을 클릭하면 형식을 자동으로 수정해줘서 깔끔하게 보여준다.
마지막으로 가장 아래에 api 주소를 복사한다.
플라스크 코드 작성하기 - for문
코드를 작성해보자.
main.py
from flask import Flask, render_template
import requests
app= Flask(__name__)
@app.route('/')
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: %}
<h1>{{ data['title'] }}</h1>
<h2>{{ data['subtitle'] }}</h2>
<p>{{ data['body'] }}</p>
{% endfor %}
</body>
</html>
반복되는 구문의 시작의 첫 줄에서는 {%로 시작해서 %}로 끝내고,
{% for data in blog_datas: %}
반복되는 구문의 마지막 줄에서는 {%로 시작해서 end를 쓴 다음, 어떤 구문 for인지 표시해주고 %}로 닫는다.
{% endfor %}
<최종화면>
플라스크 코드 작성하기 - if문
{% for data in blog_datas: %}
{% if data["id"]==1: %}
<h1>{{ data['title'] }}</h1>
<h2>{{ data['subtitle'] }}</h2>
<p>{{ data['body'] }}</p>
{% endif %}
{% endfor %}
<최종화면>
'웹개발 > Flask' 카테고리의 다른 글
JSONDecodeError: Expecting Value: Line 1 column 1 (char 0) 에러 (0) | 2022.11.17 |
---|---|
flask, url_for, URL 구축하기 (0) | 2022.11.17 |
flask, Jinja 템플레이팅 언어, API 결합, title(), <>, 변수 (0) | 2022.11.17 |
flask, Jinja, 진자, 템플레이팅 언어, templating language, {{ }}, 예제 (0) | 2022.11.17 |
flask, css 배경색깔, css파일 정적 파일, 캐시, 강력한 새로고침, shift+새로고침 (0) | 2022.11.12 |