Flask的集中控制
想通过一个统一的机制,同时允许一些公共的逻辑
{% if args["NoUser"] %} 无用户! {% else %} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>结果查询</title> <style type="text/css"> /** 用户名称 **/ .usr{ display: inline-block; width:100px; } .time{ display: inline-block; width:200px; } .cred{ display: inline-block; width:40px; } .amo{ display: inline-block; width:40px; } </style> </head> <body> {{ args["strContent"] | safe }} </body> </html> {% endif %}
但是感觉不好,于是采用JinJa2的模板继承机制,在base.html中写入一个统一的公共处理:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> {% block pub %} <script src="/static/jquery.js" type="text/javascript" charset="gb2312"></script> <script type="text/javascript" charset="gb2312"> $(document).ready(function(){ alert("hi") }); </script> {% endblock %} </head> <body> <div id="content">{% block content %}{% endblock %}</div> <div id="footer"> {% block footer %} © Copyright 2008 by <a href="http://domain.invalid/">you</a>. {% endblock %} </div> </body>
在实际模板中调用即可:
{% extends "base.html" %} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>结果查询</title> <% block pub %> {{ super() }} <% endblock %> </head> <body> {{ args["strContent"] | safe }} </body> </html>
这样,所有页面就能比较统一简洁地处理了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」