mini-WebPython Web框架程序开发(模板替换功能)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mini-WebPython Web框架程序开发(模板替换功能)相关的知识,希望对你有一定的参考价值。

模板替换功能开发

学习目标

  • 能够实现模板替换功能

1. 读取股票信息模板文件

framework.py 示例代码:

"""web框架的职责专门负责处理动态资源请求"""
import time


# 获取首页数据
def index():
    # 状态信息
    status = "200 OK"
    # 响应头信息
    response_header = [("Server", "PWS/1.1")]
    # 1. 打开指定模板文件,读取模板文件中的数据
    with open("../template/index.html", "r", encoding="utf-8") as file:
        file_data = file.read()

2. 使用模拟数据替换模板变量

framework.py 示例代码:

# 获取首页数据
def index():
    # 状态信息
    status = "200 OK"
    # 响应头信息
    response_header = [("Server", "PWS/1.1")]
    # 1. 打开指定模板文件,读取模板文件中的数据
    with open("../template/index.html", "r", encoding="utf-8") as file:
        file_data = file.read()
    # 2. 查询数据库,模板里面的模板变量( %content%) 替换成以后从数据库里面查询的数据

    # web框架处理后的数据
    # 获取当前时间, 模拟数据库内容
    data = time.ctime()

    response_body = file_data.replace("%content%", data)

    # 这里返回的是元组
    return status, response_header, response_body

3. 完整代码

"""web框架的职责专门负责处理动态资源请求"""
import time


# 获取首页数据
def index():
    # 状态信息
    status = "200 OK"
    # 响应头信息
    response_header = [("Server", "PWS/1.1")]
    # 1. 打开指定模板文件,读取模板文件中的数据
    with open("../template/index.html", "r", encoding="utf-8") as file:
        file_data = file.read()
    # 2. 查询数据库,模板里面的模板变量( %content%) 替换成以后从数据库里面查询的数据

    # web框架处理后的数据
    # 获取当前时间, 模拟数据库内容
    data = time.ctime()

    response_body = file_data.replace("%content%", data)

    # 这里返回的是元组
    return status, response_header, response_body


# 处理没有找到的动态资源
def not_found():
    # 状态信息
    status = "404 Not Found"
    # 响应头信息
    response_header = [("Server", "PWS/1.1")]
    # web框架处理后的数据
    data = "not found"

    # 这里返回的是元组
    return status, response_header, data


# 处理动态资源请求
def handle_request(env):
    # 获取动态的请求资源路径
    request_path = env["request_path"]
    print("动态资源请求的地址:", request_path)
    # 判断请求的动态资源路径,选择指定的函数处理对应的动态资源请求
    if request_path == "/index.html":
        # 获取首页数据
        result = index()
        # 把处理后的结果返回给web服务器使用,让web服务器拼接响应报文时使用
        return result
    else:
        # 没有动态资源数据, 返回404状态信息
        result = not_found()
        # 把处理后的结果返回给web服务器使用,让web服务器拼接响应报文时使用
        return result


加油!

感谢!

努力!

以上是关于mini-WebPython Web框架程序开发(模板替换功能)的主要内容,如果未能解决你的问题,请参考以下文章

mini-WebPython Web框架程序开发(logging日志)

mini-WebPython Web框架程序开发(路由功能开发)

mini-WebPython Web框架程序开发(路由功能开发)

mini-WebPython Web框架程序开发(显示数据库信息页面的开发)

mini-WebPython Web框架程序开发(显示数据库信息页面的开发)

mini-WebPython Web框架程序开发(ajax请求数据渲染个人中心页面)