๋ณธ ํฌ์คํ ์ ์ง๋ 11์์ ์ ๋ก๋๋์์ต๋๋ค.
โญ 1์ฃผ์ฐจ ํ๋ก์ ํธ : ์ ์ ๋ญํ๋? (์ ์ํ ๋ฆฌ๋ทฐ ์ฌ์ดํธ)
์์ด์ดํ๋ ์ ์์ฑ
โ 1์ฃผ์ฐจ ํ์๋ค๊ณผ ํจ๊ป ๊ณ ์๋ ์์ด๋์ด๋ฅผ ์ฒด๊ณํ์ํค๋ ๊ฒ์ผ๋ก ๋๋ถ๋ถ์ ์๊ฐ์ ๋ณด๋๋ค. ๋ด๊ฐ ์๊ฐ์ง ๋ชปํ ์์ด๋์ด์ ๊ธฐ๋ฅ๋ถ๋ถ๋ค์ ํจ๊ป ์๊ฐํด๋๊ฐ๋ค๋ณด๋ ์ด๋ฏธ ๊ทธ๋ด์ธํ ํ๋ก์ ํธ๊ฐ ํ์ํ ๊ธฐ๋ถ์ ๋๊ผ๋ค.
โญ ํ์ด์ฌ jinja2 ์ฌ์ฉ๋ฒ
Jinja2 is a templating engine for Python.
jinja๋ python ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฉ ์น ํ ํ๋ฆฟ ์์ง์ด๋ค. Flask๋ก ์น์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ , jinja2๋ ๊ทธ ์์์ ์ค์ฌํ๋ ์ด๋ค ํ์ผ์ ์ด๋ค ๋ณ์๋ฅผ ์ง์ด๋ฃ์ด์ ์ฝ๊ฐ ๋ณ๊ฒฝ์์ผ์ html๋ก ๋ง๋ค์ด์ฃผ๋ ์์ง์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ajax๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ฒ์ jinja2๋ฅผ ์ข๋ ๊ฐ๋จํ๊ฒ ๋ง๋ค ์ ์๋ค.
statement ๋ {% %} ์ผ๋ก
for ๋ฌธ์ {% for – in – %} {% endfor %}
if ๋ฌธ์ {% if – %} {% endif %}
ํน์ดํ ์ ์ด ์๋ค๋ฉด ๋๋ง์น๋ ๋ถ๋ถ์ end๋ฅผ ์จ์ค์ผํ๋ค๋ ๊ฒ์ด๊ณ , ๋ค์ฌ์ฐ๊ธฐ๊ฐ ์๋์ด์ผ์ง ์ค๋ฅ์์ด ์ ์๋๋๋ค.
๋ณ์๋ {{ }} ์ด๋ฐ์์ผ๋ก ๋๊ดํธ๊ฐ ๋๋ฒ์ฉ ๋ค์ด๊ฐ๋ค.
โ๊ฒฐ๊ณผ์ ์ผ๋ก ํ ํ๋ฆฟ์ jinja ๋ฌธ๋ฒ์ ๋ฐ๋ผ์ ๋ง๋ค๊ณ , flask๋ฅผ ํตํด์ ๋ ๋๋งํด์ฃผ๋ฉด ajax๋ฅผ ์ฐ์ง ์๊ณ ๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค. python์ ์์ง ์ต์ํ์ง ์์๋ฐ, python ํ ํ๋ฆฟ์ ํตํด์ ์น๋ถ๋ถ๋ ๋ง๋ค์ ์๊ฒ๋์๋ค๋๊ฑด ํฅ๋ฏธ๋ก์ด ๊ฒ ๊ฐ๋ค.
๐๐ป jinja ๊ณต์ํ์ด์ง
๐ ํ๊ณ
jinja2 ์ฌ์ฉ๋ฒ์ ์ตํ์ ์ํ ๊ฐ์์ ๊ฐ์์๋ฃ๋ฅผ ๋ณด๋๋ฐ, ๋ด๊ฐ ์ฐ๋ pyCharm setting์์ ๋ณด์ง ๋ชปํ๋ ๋ฉ๋ด๋ค์ด ๋๋ฌด ๋ง์ ๊ฒ์ด๋ค. ์๊ฐ ๋๋ฌด ๋นํฉํด์ ๊ตฌ๊ธ๋ง์ ์์ฒญํ๊ณ ์ด์ ๋ฅผ ๋ชฐ๋ผ์ ์ด์ฉ์ง~ํ๋๋ฐ, pyCharm ๋ฒ์ ผ์ด ๋ฌ๋ผ์ ๊ทธ๋ฐ๊ฑฐ์๋ค.
์ฌ์ ๊ต์ก์ ํ๋ฉด์ ์ฌ์ฉํ๋ ๋ฒ์ ผ์ community ๋ฒ์ ผ์ด์๊ณ , jinja2๋ฅผ ์ํด์๋ pro๋ฒ์ ผ์ ์จ์ผํ๋ค. ์ด ์ด์ ๋ฅผ ์ฐพ๋๋ค๊ณ ์๊ฐ์ ๋ญ๋นํ๋ค๋ ใ