Django Template
project/settings.py
์ TEMPLATES ๊ด๋ จ ์ค์ ์ ํ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์๋ ์ด๋ป๊ฒ tmeplate์ ๋ถ๋ฌ์ค๊ณ ๋ ๋๋ง ํ ๊ฒ์ธ์ง๋ฅผ ์ค์ ํ ์ ์๋ค.
'APP_DIRS': True
๋ INSTALLED_APPS ๋๋ ํ ๋ฆฌ์ templates ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ํ๋ค.
Template ํ์ผ ์์ฑํ๊ธฐ
ํ
ํ๋ฆฟ์ ์์ฑํ app ๋๋ ํ ๋ฆฌ ํ์์ templates ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค. templates ๋๋ ํ ๋ฆฌ ํ์์ polls ๋๋ ํ ๋ฆฌ ๋ด๋ถ์ index.html
ํ์ผ์ ์์ฑํด์ค๋ค.
polls/templates/polls/index.html
๊ณผ ๊ฐ์ ํํ๊ฐ ๋๋ค. ์ฌ๊ธฐ์ ์ templates ๋๋ ํ ๋ฆฌ ํ์์ polls ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํด์ค๊ฑธ๊น?Django์์๋ ์ด๋ฆ์ด ์ผ์นํ๋ ์ฒซ๋ฒ์งธ template์ ์ ํํ๋ค. ๋ง์ฝ ๋์ผํ template์ด ๋ค๋ฅธ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ ๊ฒฝ์ฐ์ ์ด ๋์ ์ฐจ์ด๋ฅผ ๊ตฌ๋ถํ์ง ๋ชปํ๋ค. ๊ฐ์ฅ ์ ํํ template์ ์ง์ ํ๊ธฐ ์ํด์ ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ด๋ฆ๊ณต๊ฐ์ผ๋ก ๊ตฌ๋ถ์ง๋ ๊ฒ์ด๋ค.
Template ์ธ์ด
HTML(์ ์ )์ ํ์ด์ฌ ์ฝ๋(๋์ )๋ฅผ ๋ฐ๋ก ๋ฃ์ ์ ์๋ค. template tag{}
๋ ํ์ด์ฌ์ HTML์ผ๋ก ๋ฐ๊พธ์ด ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
ruby์์๋
html.erb
{{๋ณ์}}
{{๋ณ์}}
context๋ก ์ ๋ฌ๋ ๋ณ์๋ฅผ ํ ํ๋ฆฟ์์ ๊ฐ์ ์ถ๋ ฅํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๊ดํธ ์์ ๋ณ์์ด๋ฆ์ ๋ฃ์ด์ ํ์ํ ์ ์๋ค.
{%%}
ํ
ํ๋ฆฟ ํ๊ทธ
{%%}
ํ
ํ๋ฆฟ ํ๊ทธ`
` ํ๊ทธ ์์๋ python์ for๋ฌธ, if๋ฌธ๊ณผ ๊ฐ์ด ํฌํ๋ฆฟ์ ๋ก์ง์ ์ ์ดํ๋ค.
{{ | }}
ํํฐ
{{ | }}
ํํฐํ
ํ๋ฆฟ ํํฐ๋ ๋ณ์์ ๊ฐ์ ํน์ ํ ํฌ๋งท์ผ๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ ํ๋ค. ์ด๋ |
ํ์ดํ๋ฅผ ์ฌ์ฉํด ํํฐ๋ฅผ ์ ์ฉํ๋ค.
์๋ฅผ ๋ค์ด, ๋ ์ง๋ฅผ ํน์ ๋ ์ง ํฌ๋งท์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋, ๋ฌธ์์ด์ ๋,์๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ํ ์ ์๋ค.
๋ด์ฅ ํํฐ ๋ ํผ๋ฐ์ค ์์ ์ ์ฒด ๋ชฉ๋ก์ ๋ณผ ์ ์์ผ๋ฉฐ, ํ ํ๋ฆฟ ํํฐ๋ฅผ ์ง์ ๋ง๋ค ์ ์๋ค.
`` ์ฃผ์
ํ
ํ๋ฆฟ์์ ์ฃผ์๊ตฌ๋ฌธ์ {# #}
์ด๋ค.
HTML Escape
HTML ๋ด์ฉ์ค์ <,>,',",&
๊ณผ ๊ฐ์ ๋ฌธ์๋ค์ด ์์ผ๋ฉด ๊ทธ ๋ฌธ์์ ์์ํ๋ HTML Entity๋ก ๋ณํํด์ฃผ์ด์ผํ๋ค.
ํ ํ๋ฆฟ์์ ์ด๋ฌํ ์์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๊ธฐ ์ํด์ `
ํ
ํ๋ฆฟ ํ๊ทธ๋
escape` ํ
ํ๋ฆฟ ํํฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ฐธ์กฐ
๊ณต์ ๋ ํผ๋ฐ์ค
Last updated