12-实现仿flask框架kanado之增加模板处理

使用jinja2第三方库实现 kanado包新增render_template.py

import os
from jinja2 import Environment, FileSystemLoader

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

    path = '{}/templates/'.format(os.getcwd())  # 返回当前工作目录
    
    # 创建一个加载器,jinja2会从这个目录中加载模板
    loader = FileSystemLoader(path)
    
    # 用加载器创建一个环境,有了它才能读取模板文件
    env = Environment(loader=loader)
    
    # 调用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():
    '''
    主页
    '''
    # 渲染首页HTML模板文件
    return render_template('home.html')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 模板标签除了几个常用的,还真心没有仔细了解一下,看到2.0发布后,翻译学习一下。 本文尽量忠实原著,毕竟大神的东西...
    海明_fd17阅读 2,176评论 0赞 5
  • Flask采用Python编程语言来实现的web框架。Flask框架的主要特征是核心构成比较简单,但具有很强的扩展...
    Noslpum阅读 1,115评论 1赞 1
  • 第三章 模板 序 为什么要分离 易于维护的代码,关键在于保持简单的结构。而我们之前编写的hello.py虽然简单,...
    科幻经典阅读 1,661评论 0赞 6
  • 前言 最近在看Flask Web开发,感觉这本书写的真不错,里面教开发者如何一步步开发一个博客系统。刚开始看的时候...
    happyte阅读 7,154评论 3赞 14
  • 每个内脏有独立的经络存在,邪气通过经络传递,正气把血液传递到疾病处,也是人体神经系统 心脏病的判断 !看一鼻横纹:...
    赵垣媛阅读 1,049评论 0赞 1

友情链接更多精彩内容