flask(二)之Jinja2模板与Flask-WTF】的更多相关文章

01-文档 官方文档:http://docs.jinkan.org/docs/jinja2/ 02-基本语义 Jinja2做构成的模板文件中,文本内容大致可以分成几个种类.比如特殊文本(不进行转义,比如HTML,XML格式的文本).{{  }}表示的变量或者宏调用.{%  %}表示逻辑控制,{#  #}表示注释,其中内容不被模板引擎转义. 03-渲染模板 默认情况下,Flask在项目目录中的templates子目录中寻找模板.render_template() from flask import…
前面也提到过在Flask中最核心的两个组件是Werkzeug和Jinja2模板.其中Werkzeug在前一节已经详细说明了.现在这一节主要是来谈谈Jinja2模板. 一.为什么需要引入模板: 在进行软件开发的时候,我们都希望开发的软件能够有很低的耦合度.而在视图中主要是处理业务逻辑和返回响应的,在web开发中,响应主要是渲染HTML文本,如果把渲染的这一个过程在视图中做的话,会导致耦合度特别高,难以维护.这样就引入了模板,目的是为了把视图中的业务处理和响应分开,这样维护的成本就会降低. 二.Ji…
控制语句和表达式 举例 Flask Python代码 from flask import Flask, render_template, redirect, request app = Flask(__name__) STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'} STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73, 'g…
Python的Jinja2模板,其实就是在HTML文档中使用控制语句和表达语句替换HTML文档中的变量来控制HTML的显示格式,Python的Jinja2模板可以更加灵活和方便的控制HTML的显示,而且大大地减少了编程人员的工作量. 本文是作者的学习笔记,并不全面,感兴趣的朋友可以参考http://docs.jinkan.org/docs/jinja2/templates.html 模板语法: 1.注释{# .. #}:HTML中的注释可以使用<!-- ... -->注释,但在jinja2的w…
Environment 类版本: 本文所描述的 Environment 类对应于 Jinja2-2.7 版本.   Environment 类功能: Environment 是 Jinja2 中的一个核心类,它的实例用来保存配置.全局对象,以及从本地文件系统或其它位置加载模板. 多数应用会在初始化时创建 Environment 实例,然后用它来加载模板.当然,如果系统有必要使用不同的配置,也可以创建多个 Environment 实例一起使用. Environment 作为 Jinja2 模板引擎…
中文文档:http://docs.jinkan.org/docs/jinja2/ 与静态资源一样,Flask默认的模板目录名为templates,如果有需要的话和static一样,要在初始化的时候声明 创建目录 在templates下建一个html文件,会默认生成一段html代码 模板实例代码:如果name存在,则输出:Hello + name ,否则输出Hello World! <!doctype html><title>Hello from Flask</title>…
实现某些位置的内容固定,某些位置的内容动态展示,如: 中文文档地址:http://docs.jinkan.org/docs/jinja2/templates.html#template-inheritance 在template文件夹下建几个html文件,并修改里面的内容 header: footer: 搜一下包含模板 {% include 'header.html' %} <h1>这是base模板</h1>{% include 'footer.html' %} base: tes…
在页面中,有点击跳转到另一个地址的时候,可以使用url_for来指定要跳转的视图函数:{{ url_for('view_function') }} 如果该视图需要接收参数…
一 请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子. 请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子: before_first_request 在处理第一个请求前执行 before_request 在每次请求前执行 如果在某修饰的函数中返回了一个响应,视图函…
会话技术 Cookie 客户端端的会话技术 cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过来 ​ 特点:   - 客户端会话技术,浏览器的会话技术   - 数据全都是存储在客户端中   - 存储使用的键值对结构进行的存储   - 特性 - 支持过期时间 - 默认会自动携带本网站的所有cookie - 根据域名进行cookie存储 - 不能跨域名 - 不能跨浏览器 - Cookie是通过服务器创建的Response…