当前位置: 首页 > news >正文

深圳定制建站公司电话网站建设工作都包括哪些方面

深圳定制建站公司电话,网站建设工作都包括哪些方面,机械加工网站平台,建设用地规划许可证在哪个网站查询✨前言#xff1a; #x1f31f;什么是jinja2#xff1f; Jinja2 是一个强大的 Python 模版引擎#xff0c;主要用于生成HTML或其他文本文件。这个库非常适合开发动态网站和Web应用的视图层#xff0c;因为它支持逻辑操作如循环和条件判断#xff0c;还可以继承和重用模…✨前言 什么是jinja2 Jinja2 是一个强大的 Python 模版引擎主要用于生成HTML或其他文本文件。这个库非常适合开发动态网站和Web应用的视图层因为它支持逻辑操作如循环和条件判断还可以继承和重用模板。Jinja2以其灵活性和性能著称。 模板 要了解jinja2那么需要先理解模板的概念。模板在Python的web开发中广泛使用它能够有效的将业务逻辑和页面逻辑分开使代码可读性增强、并且更加容易理解和维护。 模板简单来说就是一个其中包涵占位变量表示动态的部分的文件模板文件在经过动态赋值后返回给用户可以理解为渲染。 jinja2介绍 jinja2是Flask作者开发的一个模板系统起初是仿django模板的一个模板引擎为Flask提供模板支持由于其灵活快速和安全等优点被广泛使用。 jinja2的优点 快速且强大Jinja2的性能非常出色它有一个快速的编译器和一个优化的沙箱执行环境来运行模板代码。这意味着即使你的模板很复杂Jinja2也能快速渲染出结果。 可读性和灵活性Jinja2的语法与Python相似这使得那些已经熟悉Python的开发者能够快速上手。同时它支持宏、模板继承和复杂表达式你可以轻松构建复杂且可维护的模板结构。 自动转义出于安全考虑Jinja2可以自动转义所有的输入变量从而减少跨站脚本攻击XSS的风险。这是一个很重要的功能特别是当应用程序的输入可能来源于不可信的用户时。 模板继承Jinja2支持模板继承这让你可以创建一个基础“骨架”模板并衍生出多个子模板非常适用于网站中有共用布局时。 丰富的过滤器和测试Jinja2内置了多种过滤器和测试你可以用来转换或评估变量。例如可以将日期格式化、列表排序、字符串转换为大写等。你也可以轻松地定义自己的过滤器和测试。 国际化和本地化支持Jinja2与Babel配合可以很好地支持多语言应用程序使得本地化和国际化流程更为简单。 独立于框架虽然Jinja2经常与Flask一同使用但其实它是独立于任何特定Web框架的。这意味着你可以在多种不同的项目中使用它这提升了Jinja2的可复用性。 沙箱执行Jinja2可以安全地运行在沙箱中意味着你可以控制模板可以执行哪些操作这有助于保护你的服务器不受潜在的恶意模板代码的影响。 可扩展性Jinja2的行为可以通过自定义的扩展来扩展。开发者可以增加自定义的语法、新的过滤器或测试提供额外的全局函数等。 jinja2安装 pip install Jinja2基础用法在Jinja2中创建模板然后填充数据。 #!/usr/bin/env python # codingutf-8# Time : 2024/5/7 # Author : Summer # File : test # describe: from jinja2 import Templatetemplate Template(Hello, {{ name }}!) message template.render(nameWorld)print(message) # Hello, World!jinja2中的过滤器 那么如何使用这些过滤器呢 只需要在变量后面使用管道(|)分割多个过滤器可以链式调用前一个过滤器的输出会作为后一个过滤器的输入。 {{ abc | captialize }} # Abc{{ abc | upper }} # ABC{{ hello world | title }} # Hello World{{ hello world | replace(world,daxin) | upper }} # HELLO DAXIN{{ 18.18 | round | int }} # 18Jinja2模版的常用功能 ⭐️变量替换使用{{ variable_name }}在模板中使用变量。 pYour name is {{ name }}./p⭐️循环使用{% for %}循环遍历列表。 ul {% for user in users %}li{{ user.name }}/li {% endfor %} /ul ⭐️迭代字典 dl {% for key, value in my_dict.iteritems() %} dt{{ key }}/dt dd{{ value}}/dd {% endfor %} /dl⭐️迭代列表 ul {% for user in users %} li{{ user.username|title }}/li {% endfor %} /ul⭐️条件判断使用{% if %} … {% endif %}进行条件判断。 {% if user.is_active %}p{{ user.name }} is active./p {% else %}p{{ user.name }} is not active./p {% endif %} ⭐️模版继承可以让子模版继承父模版的结构。 base.html: htmlheadtitle{% block title %}My Website{% endblock %}/title/headbody{% block content %}{% endblock %}/body /html child.html: {% extends base.html %}{% block title %}Child Page{% endblock %}{% block content %}pThis is the Child Page./p {% endblock %} ⭐️宏可以将重复的HTML模式定义为宏。 {% macro input(name, value, typetext) %}input type{{ type }} name{{ name }} value{{ value }} {% endmacro %} 然后像调用函数一样在模板中使用它 {{ input(username) }} ⭐️Jinja2 环境配置与加载模板 实际开发中更常见的做法是从文件中加载模板。为此需要创建一个Environment实例来管理模板文件。 from jinja2 import Environment, FileSystemLoaderenv Environment(loaderFileSystemLoader(templates)) template env.get_template(mytemplate.html) print(template.render(nameWorld)) 其中模板文件mytemplate.html位于templates目录下。 ⭐️示例: 尽管Jinja2经常和Flask框架搭配使用但是它同样可以为其他类型的Python脚本生成HTML。 #!/usr/bin/env python # codingutf-8# Time : 2024/5/7 11:18 # Author : Summer # File : # describe:from jinja2 import Environment, FileSystemLoader import webbrowserenv Environment(loaderFileSystemLoader(.)) template env.get_template(report.template.html)report_data {title: Quarterly Report,headers: [Revenue, Expenses, Profit],rows: [[500000, 200000, 300000], [600000, 300000, 300000]] }html_content template.render(datareport_data)# 将生成的HTML保存到文件 with open(report.html, w) as f:f.write(html_content)# 用默认浏览器打开 webbrowser.open_new_tab(report.html)FileSystemLoader 文件系统加载器不需要模板文件存在某个Python包下可以直接访问系统中的文件。 模板report.template.html !DOCTYPE html html langen headtitle{{ data.title }}/title /head bodyh1{{ data.title }}/h1tabletr{% for header in data.headers %}th{{ header }}/th{% endfor %}/tr{% for row in data.rows %}tr{% for cell in row %}td{{ cell }}/td{% endfor %}/tr{% endfor %}/table /body /html 输出 ✨小结 以上示例只是展示了Jinja2的一些基础用法。Jinja2是一个非常灵活且功能丰富的模板引擎支持复杂的表达式、过滤器、测试等高级功能非常适合开发需要高度定制模板的Web应用。大家觉得对自己学习有用的话可以点赞哈您的点赞是作者持续创作的动力。
http://www.zqtcl.cn/news/244073/

相关文章:

  • 沈阳快速建站公司有哪些国外做二手服装网站
  • 手机如何建立网站平台seo比较好的优化
  • 电商网站建设外包禅城南庄网站制作
  • 哈尔滨企业网站开发报价免费php网站源码
  • 东莞市公司网站建设淄博网站制作营销
  • 企业网站无线端怎么做手机网站做成app
  • 让他人建设网站需要提供的材料可在哪些网站做链接
  • 外贸公司做网站3d建模好学吗
  • dedecms新网站 上传到万网的空间上海新媒体运营公司排名
  • 包装东莞网站建设0769三层网络架构
  • 淘客网站自己做固安建站公司
  • 咸阳学校网站建设联系电话网络app开发网站建设价格
  • 没网站怎么做淘宝客网站建设耂首先金手指
  • 网站带做收录排名淘外网站怎么做
  • 网站建设分金手指排名五申请邮箱账号注册
  • 餐饮加盟网站建设字体怎么安装wordpress
  • 网站建设与维护培训凡科和有赞哪个好用
  • 景区网站的作用长春新冠最新情况
  • 个人网站上传有啥要求wordpress 浏览记录
  • appcan 手机网站开发wordpress首页音乐
  • 杭州响应式网站案例建筑工程网站建站方案
  • 网站访客抓取国内网站搭建
  • 凡科网站做的好不好太原网页
  • 十堰商城网站建设国外效果图网站
  • 怎么登陆建设工程网站泉州网红
  • 哈尔滨队网站网页美工跨境电商是什么意思
  • 网站规划与建设课程推广型网站建设软件
  • 山东网站建设系统网站设计哪家更好
  • 网络推广有哪些网站网络推广公司联系昔年下拉
  • 长沙专业外贸建站公司百度提交网站入口网站