main.htmlμ΄λΌλ ν νλ¦Ώμ΄ μμ΅λλ€. μ΄κ²μ (컨ν μ€νΈ μμ΄) module_aλΌλ λͺ¨λμ {% imports %} ν©λλ€. module_a {%λ %} module_bλ₯Ό κ°μ λ°©μμΌλ‘ κ°μ Έμ΅λλ€.
module_aλ₯Ό λ³κ²½νλ©΄ ν νλ¦Ώ λ‘λκ° μ΄λ₯Ό μΈμνκ³ λ€μ λ‘λν©λλ€.
module_bλ₯Ό λ³κ²½νλ©΄ ν νλ¦Ώ λ‘λκ° μΈμνμ§ λͺ»ν©λλ€. νλ‘μΈμ€λ₯Ό λ€μ μμν΄μΌ ν©λλ€.
μ΄κ²μ module_aμ λν΄ μμ±λ μ½λκ° root() ν¨μμμ κ°μ Έμ€κΈ°λ₯Ό μννκΈ° λλ¬Έμ΄λΌκ³ μκ°ν©λλ€. get_templateμ module_aκ° μ΅μ μνμμ νμΈνλ―λ‘ λ€μ λ‘λνμ§ μμΌλ―λ‘ root() ν¨μλ₯Ό λ€μ μ€ννμ§ μμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ μ λͺ¨λ₯΄κ² μ΅λλ€. λΆλͺ ν get_templateμ λν κ° νΈμΆμμ root()λ₯Ό νΈμΆνλ κ²μ μ’μ§ μμ΅λλ€. κ°μ₯ μμ ν μ루μ μ κ° ν νλ¦Ώμ μ’ μμ±μ μΆμ νλ κ²μ΄μ§λ§ λ§μ μμ μ΄ νμν©λλ€.
μ°λ¦¬λ μ΄ λ¬Έμ μ μ§λ©΄ν΄ μμ΅λλ€. ( auto_reload
λΌλ μ©μ΄λ₯Ό μ¬μ©νμ§ μμκΈ° λλ¬Έμ μ΄ λ²κ·Έλ₯Ό κ±°μ μ°Ύμ§ λͺ»νμ΅λλ€. μ΄κ²μ auto_reload=True
λλ§ κ΄λ ¨μ΄ μμ΅λλ€.)
μ΄κ²μ μμ νκΈ°κ° μλΉν κΉλ€λ‘μΈ κ² κ°μ΅λλ€. μ΄μμ μΌλ‘λ get_source
uptodate
λ©μλλ₯Ό μ¬μ©νμ¬ μμ€ νμΌ μ체λΏλ§ μλλΌ κ°μ Έμ€κ±°λ νμ₯νκ±°λ ν¬ν¨νλ λͺ¨λ μμ€ νμΌλ νμΈν΄μΌ ν©λλ€. κ·Έλ¬λ uptodate
κ° μ μλ μμ μμλ ꡬ문 λΆμλμ§ μμ μμ μμ€λ§ μμΌλ―λ‘ ν΄λΉ μ 보λ₯Ό μ¬μ©ν μ μμ΅λλ€.
λ λμ μμ€(μ: Template.is_up_to_date
)μμ ꡬνν μ μμ§λ§ μ»΄νμΌλ¬μμ μ’
μμ± μ 보λ₯Ό λ€μ κ°μ Έμ€λ €λ©΄ μλΉν μμ μ΄ νμν κ²μ²λΌ 보μ
λλ€.
λλ λ°©κΈ μ΄κ²μ λΆλͺμ³€λ€. μ΄κ²μ cache_size
λ₯Ό 0μΌλ‘ μ€μ ν΄μΌ νλ€λ κ²μ μλ―ΈνκΈ° λλ¬Έμ κ°λ°μμ κ½€ μ±κ°μ μΌμ
λλ€.
λ΄λΆλ₯Ό νν€μ³λ³΄κ³ λκ°κ° λ μ€λ₯΄μ§ μλμ§ νμΈνλ €κ³ ν©λλ€. κ·Έ λμ λ λ§μ κ²½νμ κ°μ§ λκ΅°κ°κ° μ루μ μ΄λ λ°©ν₯μ μ μν μ μλ€λ©΄ μ λ§ μ’μ κ²μ λλ€!
λ¬Έμ λ κ°μ Έμ€κΈ°κ° μΊμλμ§λ§ μΆμ λμ§ μλλ€λ κ²μ λλ€. μ΄ λ¬Έμ λ₯Ό μ²λ¦¬νλ κ°μ₯ μ’μ λ°©λ²μ΄ 무μμΈμ§ μ λͺ¨λ₯΄κ² μ΅λλ€.
μ, μ¬κΈ°μ λ¬Έμ λ ν
νλ¦Ώμ μΊμ±μ΄ μλλΌ κ°μ Έμ¨ 맀ν¬λ‘μ μ λ¬λ λ³μμ μΊμ±μ μμ΅λλ€.
(μ μ΄λ λ΄ κ²½μ°μλ)
λ΄ ν΄κ²° λ°©λ²μ λ λλ§ν μ λ°μ΄νΈλ 컨ν μ€νΈ κ°μ λ°ννλ λ©μλλ₯Ό μ¬μ©νλ κ²μ΄μμ΅λλ€.
λ΄ μλ리μ€μμλ νμ΄μ§ 맀κΉμ μν 맀ν¬λ‘λ₯Ό λ§λ€κ³ μμμ΅λλ€. 맀ν¬λ‘μλ μμ² κ°μ²΄κ° νμνμ΅λλ€.
맀ν¬λ‘ λ΄ μ΄κΈ° μ κ·Ό
{% set pagenum, limit = request.args.pg , request.args.limit %}
μ΄κ²μ μ²μμλ μλνμ§λ§ νμ μμ²μμ 맀ν¬λ‘ 컨ν
μ€νΈ κ°μ μλ²κ° μ¬λΆν
λμ§ μλ ν μμν μΊμλ©λλ€.
맀ν¬λ‘ λ΄ μμ
λ°©μ
{% set pagenum, limit = request.get_params() %}
μ΄μ 맀ν¬λ‘ μΊμ±μ ν¬μνμ§ μκ³ λͺ¨λ νΈμΆμμ μ
λ°μ΄νΈλ μμ² λ§€κ°λ³μλ₯Ό λ°νν©λλ€.
λν 맀ν¬λ‘λ₯Ό μΊμ±νλ©΄ μλ΅ μκ°μ΄ ~2.5λ°° λΉ¨λΌμ§λ€λ μ¬μ€λ μκ² λμμ΅λλ€.
μΊμ± μμ΄ ~= 450ms
μΊμ± ν¬ν¨ ~= 150ms
κ°μ₯ μ μ©ν λκΈ
λ¬Έμ λ κ°μ Έμ€κΈ°κ° μΊμλμ§λ§ μΆμ λμ§ μλλ€λ κ²μ λλ€. μ΄ λ¬Έμ λ₯Ό μ²λ¦¬νλ κ°μ₯ μ’μ λ°©λ²μ΄ 무μμΈμ§ μ λͺ¨λ₯΄κ² μ΅λλ€.