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

网络彩票网站建设网站建设 麦肯趋势

网络彩票网站建设,网站建设 麦肯趋势,浙江省建设局教育网站,农产品网站建设案例目录 1.介绍 2.模板传参 1.变量传参 2.表达式 3.控制语句 4.过滤器 5.自定义过滤器 6.测试器 7.块和继承 flask基础1 1.介绍 Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Python实现的模板语言,Jinja2 的作者也是 Flask 的作 者。他的设计思想来源于Django的模…目录 1.介绍 2.模板传参 1.变量传参 2.表达式 3.控制语句 4.过滤器 5.自定义过滤器 6.测试器 7.块和继承 flask基础1 1.介绍 Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Python实现的模板语言,Jinja2 的作者也是 Flask 的作 者。他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能,其是Flask内置的模板语言。 jinja2之所以被广泛使用是因为它具有以下优点 1、相对于Templatejinja2更加灵活它提供了控制结构表达式和继承等。 2、相对于Makojinja2仅有控制结构不允许在模板中编写太多的业务逻辑。 3、相对于Django模板jinja2性能更好。 4、Jinja2模板的可读性很棒。 要渲染一个模板通过 render_template 方法即可。 2.模板传参 在渲染前端页面的时候有时候我们要将后端的一些数据渲染到前端页面那么在使用render_template渲染模板的时候可以传递关键字参数前端页面直接使用如果是多个参数就写成字典或者列表的形式传递到前端 1.变量传参 传参语法在前端页面中{{变量名}}两个大括号中写变量名即可 逻辑语句(if else for之类的)使用{% if%}这个符号 from flask import Flask from flask import render_template,redirect,requestappFlask(__name__)data{name:zhangsan,age:18,weight:100} datas{a:{name:lisi,age:19,weight:101},b:{name:wangwu,age:20,weight:110},c:{name:zhangsan,age:18,weight:100} }app.route(/index) def index():return render_template(index.html,**datas)if __name__ __main__:app.run(debugTrue) 传入data的写法  传入datas的写法 2.表达式 其实就是{{表达式}}表达式可以是运算表达式{{11}}可以是比较表达式{{age18}} 还可以是函数{{ function() }} 3.控制语句 主要用到的是条件控制语句if和else循环语句for 条件控制语句要用{% if %}并且在结束的时候要加上{% endif %}{% endfor %} {% if namezhangsan %}h1这里是法外狂徒的地方其他人不能来/h1{% elif namelisi %}h1这里是李四的地盘/h1{% else %}h1其他人的根据地/h1{% if age18 %}h1成年人/h1{%endif%}{# 循环语句 #}{% for name in datas %}我的名字是{{ name }}我今年{{ age }}我体重为{{ weight }}{% endfor %} 3.过滤器 就是一个转换函数将传入的变量传入到中国转换函数中在使用这个转换函数的返回值作为渲染变量语法{{ 变量名 | 转换函数 }} 常用的有 safa渲染时值不转义 capitalize把值的首字母转换成大写其他的小写 lower所有字母小写 upper所有字母大写 title把值的每个单词首字母大写 trim去除首位空格 striptags渲染之前把值的所有HTML标签删除 escape不转义HTML语法 join替换字符串的值 replace默认对数字进行四舍五入也可以用参数进行控制 int把值转成整形 p{{ name | upper }}/pp{{ name | trim }}/pp{{ HELLO WROLD | lower }}/pp{{ h1nameh1 | safe }}/pp{{ h1nameh1 | escape }}/p 其实python基础中用到的内置函数这里基本都有 p{{ age | round }}/pp{{ age | abs }}/pp{{ age | length }}/pp{{ age | sum }}/pp{{ age | sort }}/p 4.自定义过滤器 使用函数写一个自己想要的函数然后将这个函数传入到flask中存放过滤器的地方那么你这个函数就是过滤器了 # 第一种方法 def get_last_num(num):return num[-1]app.jinja_env.filters[last_name]get_last_num# 第二种方式,使用过滤器函数的装饰器 app.finalize_request() def get_last_num(num):return num[-1] 然后就可以在前端页面中使用这个过滤器了 5.测试器 和过滤器差不多但是测试器是放在结构语句中判断的 {% if name is lower %}h2{{ name }} 是小写的./h2 {% endif %}jinja2中的内置的测试器 {# 检查是否所有字符都是大写 #} {% if name is upper %}h2{{ name }} 所有字母大写./h2 {% endif %} {# 检查变量是否为空 #} {% if name is none %}h2name值是空的./h2 {% endif %} {# 检查变量是否为字符串也可以用number检查是否为数值 #} {% if name is string %}h2{{ name }} name是字符串./h2 {% endif %} 自定义测试器 def is_9num(num):moxr\d{9}return re.match(mox,num) app.jinja_env.tests[is_9num] is_9numapp.template_test(is_9num) def is_9num(str, suffix):return str.lower().startswith(suffix.lower()) 6.块和继承 这个是为了解决代码重用的比如首页页脚导航栏之类的 父模板中写重复的代码块 子模板中继承父模板的内容后来填充转义父模板中的内容就不用重复写了 继承的时使用关键字extends 标签定义的内容写到{% block 块变量名称 %} {% endblock %}中举个栗子 父模板(father.heml)内容: {% block top %}页首内容 {% endblock top %}{% block centent %}留给子模板写的标签 {% endblock centent%}{% block bottom %}页脚内容 {% endblock bottom%}子模板中写 {% extend father.html %} {% block content %}需要填写的内容 {% endblock content %}
http://www.pierceye.com/news/243210/

相关文章:

  • 三北防护林体系建设网站培训班学员培训心得
  • 西安百度网站排名优化友情链接代码模板
  • 网站建设怎么做网站济南做网站推广有哪些公司
  • 恩阳建设局网站南阳网站建设赛科
  • 服务器IP做网址打开网站传媒公司宣传
  • 安装Wordpress个人网站医院网站建设公司价格低
  • 万能网页编辑器南通百度seo代理
  • 关于酒店网站建设的摘要手机百度2020
  • 楚雄网站建设rewlkj自己怎么建立个人网站
  • 网站开发工程师工作描述加强门户网站建设与管理办法
  • 电商网站优化方案个人网站设计与制作代码
  • 仙居建设规划局网站asp 茶叶网站模板
  • 福州网页模板建站梦幻西如何建立网站做代练
  • 专业做毕业设计网站设计禹州市城乡建设局网站
  • 魔站网站开发手机商城官网
  • 沧州 网站建设公众号搭建第三方平台
  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码
  • php网站项目无锡有网页制作公司吗
  • 做企业网站需要收费吗wordpress单主题
  • 潮州网站开发多少钱wordpress用户调用
  • 湖南响应式网站公司闸北建设机械网站
  • 图书管理系统网站开发教程北京今朝装饰设计有限公司
  • 济南咨询行业网站开发qq降龙是哪个公司开发的
  • 可以做go分析的网站网站如何做营销
  • 企业网站设计要求做公司网站的价格
  • 网站建设与管理中专专业网页设计公司营销crm系统
  • wordpress全站甘肃省住房和城乡建设厅安置局网站
  • 做视频网站应该选什么服务器十大暗网搜索引擎
  • 建立外贸网站多少钱淮北招聘网最新招聘信息