12-實(shí)現(xiàn)仿flask框架kanado之增加模板處理

使用jinja2第三方庫(kù)實(shí)現(xiàn) kanado包新增render_template.py

import os
from jinja2 import Environment, FileSystemLoader

def render_template(template_name_or_list, **context):
    # 得到放置模板的目錄

    path = '{}/templates/'.format(os.getcwd())  # 返回當(dāng)前工作目錄
    
    # 創(chuàng)建一個(gè)加載器,jinja2會(huì)從這個(gè)目錄中加載模板
    loader = FileSystemLoader(path)
    
    # 用加載器創(chuàng)建一個(gè)環(huán)境,有了它才能讀取模板文件
    env = Environment(loader=loader)
    
    # 調(diào)用get_tempalte()方法加載模板并返回
    template = env.get_template(template_name_or_list)
    
    html = template.render(**context)
    return html

__init__.py

from .kanado import  Kanado
from .render_template import render_template
__all__ = [
    Kanado,
    render_template
]

app.py

from kanado import Kanado, render_template

app = Kanado(__name__)

@app.route('/')
def home():
    '''
    主頁(yè)
    '''
    # 渲染首頁(yè)HTML模板文件
    return render_template('home.html')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 模板標(biāo)簽除了幾個(gè)常用的,還真心沒(méi)有仔細(xì)了解一下,看到2.0發(fā)布后,翻譯學(xué)習(xí)一下。 本文盡量忠實(shí)原著,畢竟大神的東西...
    海明_fd17閱讀 2,141評(píng)論 0 5
  • Flask采用Python編程語(yǔ)言來(lái)實(shí)現(xiàn)的web框架。Flask框架的主要特征是核心構(gòu)成比較簡(jiǎn)單,但具有很強(qiáng)的擴(kuò)展...
    Noslpum閱讀 1,083評(píng)論 1 1
  • 第三章 模板 序 為什么要分離 易于維護(hù)的代碼,關(guān)鍵在于保持簡(jiǎn)單的結(jié)構(gòu)。而我們之前編寫(xiě)的hello.py雖然簡(jiǎn)單,...
    科幻經(jīng)典閱讀 1,612評(píng)論 0 6
  • 前言 最近在看Flask Web開(kāi)發(fā),感覺(jué)這本書(shū)寫(xiě)的真不錯(cuò),里面教開(kāi)發(fā)者如何一步步開(kāi)發(fā)一個(gè)博客系統(tǒng)。剛開(kāi)始看的時(shí)候...
    happyte閱讀 7,105評(píng)論 3 14
  • 每個(gè)內(nèi)臟有獨(dú)立的經(jīng)絡(luò)存在,邪氣通過(guò)經(jīng)絡(luò)傳遞,正氣把血液傳遞到疾病處,也是人體神經(jīng)系統(tǒng) 心臟病的判斷 !看一鼻橫紋:...
    趙垣媛閱讀 1,006評(píng)論 0 1

友情鏈接更多精彩內(nèi)容