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

各网站的风格及特点牡丹江网络推广公司

各网站的风格及特点,牡丹江网络推广公司,深圳网站建设模板乐云seo,一键生成论文的网站宏的概念类似于python中的函数#xff0c;宏的作用就是在模板中重复利用代码#xff0c;避免代码冗余。Jinja2支持宏#xff0c;还可以导入宏#xff0c;需要在多处重复使用的模板代码片段可以写入单独的文件#xff0c;再包含在所有模板中#xff0c;以避免重复。简单定…宏的概念类似于python中的函数宏的作用就是在模板中重复利用代码避免代码冗余。Jinja2支持宏还可以导入宏需要在多处重复使用的模板代码片段可以写入单独的文件再包含在所有模板中以避免重复。简单定义宏的方法以及调用1.定义一个 input()的宏{% macro input() %}{% endmacro %}2.在模板中调用input()宏{{ input() }}这样的宏没有参数的传入下面再来看看如何设置带参数的宏。定义带参数的宏以及调用1.定义带参数的宏{% macro input(name,value,typetext,size20) %}{% endmacro %}2.调用宏并传递参数{{ input(valuename,typepassword,size40)}}编写上面两个宏的完整示例1.编写macro_ex.html模板文件Title无参数的宏{% macro input1() %}{% endmacro %}{{ input1() }}设置带参数的宏{% macro input2(name,value,typetext,size20) %}{% endmacro %}{{ input2(valuename,typepassword,size40) }}2.编写一个视图函数from flask import Flask, render_templateapp Flask(__name__)app.config[SECRET_KEY] xhosd6f982yfhowefy29fapp.route(/macro_ex, methods[GET, POST])def macro_ex():return render_template(macro_ex.html)if __name__ __main__:app.run(debugTrue)3.访问视图查看效果访问 http://127.0.0.1:5000/macro_ex 可以看到只需要调用模板的宏就可以直接创建一个input如果宏的html比较复杂那么就可以更加方便减少html的编写。下面还有更加方便的做法。在python中的公共类方法可以写到一个公共工具类中后续方便其他地方调用。而模板宏也可以有同样的做法。可以将模板宏都写到一个html文件中然后通过模板继承的方式提供调用下面来看看怎么操作。把宏单独抽取出来封装成html文件其它模板中导入使用创建文件名可以自定义macro.html{% macro login_form() %}{% endmacro %}在其它模板文件中先导入再调用{% import macro.html as macro_import %}{{ macro_import.login_form() }}完整示例如下1.创建macro.html文件 2.编写另一个html文件macro_ex.html用来导入模板宏以及调用 可以看到有了宏的使用已经很方便避免重复编写的html内容。下面再来介绍Django模板也有的继承功能。模板继承模板继承是为了重用模板中的公共内容。一般Web开发中继承主要使用在网站的顶部菜单、底部。这些内容可以定义在父模板中子模板直接继承而不需要重复书写。{% block top %}{% endblock %}标签定义的内容相当于在父模板中挖个坑当子模板继承父模板时可以进行填充。子模板使用extends指令声明这个模板继承自哪父模板中定义的块在子模板中被重新定义在子模板中调用父模板的内容可以使用super()。父模板base.html{% block top %}顶部菜单{% endblock top %}{% block content %}{% endblock content %}{% block bottom %}底部{% endblock bottom %}子模板children.html{% extends base.html %}{% block content %}需要填充的内容{% endblock content %}模板继承使用时注意点不支持多继承。为了便于阅读在子模板中使用extends时尽量写在模板的第一行。不能在一个模板文件中定义多个相同名字的block标签。当在页面中使用多个block标签时建议给结束标签起个名字当多个block嵌套时阅读性更好。包含(Include)Jinja2模板中除了宏和继承还支持一种代码重用的功能叫包含(Include)。它的功能是将另一个模板整个加载到当前模板中并直接渲染。include的使用示例{% include index.html %}{% include index.html %}包含在使用时如果包含的模板文件不存在时程序会抛出TemplateNotFound异常可以加上ignore missing关键字。如果包含的模板文件不存在会忽略这条include语句。注意include可以多次使用也就是可以多次加载模板内容到当前模板中。include的使用加上关键字ignore missing设置include一个不存在的模板如下{% include hello.html %}上面说到如果包含的模板文件不存在则会抛出异常TemplateNotFound如下 如果想要避免报错可以增加关键字ignore missing如下{% include hello.html ignore missing%}再次访问页面则不会报错了直接显示空白而已如下 总结宏、继承、包含宏(Macro)、继承(Block)、包含(include)均能实现代码的复用。继承(Block)的本质是代码替换一般用来实现多个页面中重复不变的区域。宏(Macro)的功能类似函数可以传入参数需要定义、调用。包含(include)是直接将目标模板文件整个渲染出来。
http://wiki.neutronadmin.com/news/193353/

相关文章:

  • 云南省建设工程质量协会网站吉林长春seo网站建设网站优化
  • 电商网站制作流程图外链吧
  • 郑州网站建设服务wordpress如何开启小绿锁
  • 设计网站 常用图书馆网站制作
  • 某班级网站建设方案论文智能小程序入口
  • 网站需要网监备案能源网站建设方案
  • 以人为本网站建设空间出租柳州网站建设优化推广
  • 高端品牌网站建设网站开发注意什么网站用户维护
  • 浙江建站优化品牌重庆网站建设首选卓光
  • 汽车网站模板优秀的国风网页设计欣赏
  • 微网站制作网站开发长沙seo推广公司
  • 食材网站模板大全企业为什么要增资
  • 旅游搭建网站佛山市手机网站建设企业
  • 黄山建设网站公司电话用凡科做的网站怎么下载
  • 北京网站策划服务网站域名收费
  • iis7.5 添加网站西安优化网站公司
  • 常用网站建设技术是什么电子商务seo是指什么意思
  • 免费源码交易网站源码网站服务器租用平台
  • iss服务器网站建设网站做图尺寸
  • 默认网站 域名 网站绑定海南的网站建设公司哪家好
  • 电商网站英文酒泉网站建设价格
  • 那里建设网站好网站建设行业资讯
  • 什么网站可以做excel表格wordpress关闭主题更新
  • c 创建一个网站怎么做广州定制app开发
  • 网站开发完整的解决方案学校网站建设推进会
  • 瑶海区网站建设关于网站建设维护的创业计划书
  • 兰州网站搜索优化小程序码
  • 淘宝联盟 网站备案网络推广有几种方式
  • 重庆设计公司网站校园网站建设报价
  • 个人网站开发如何赚钱吗织梦电影网站模板