1.路由

@app.route('/')

def hello_world():

pass

变量规则:

int,float,UUID,path,str(默认)

import uuid

uid=uuid.uuid4()

2.视图函数

*返回值:

str: 自动转换成response对象

dict: json格式

tuple: 加状态码,转换成json对象

response对象: response对象

WSGI:

make_response(): response对象

redirect(): 重定向,302状态码

render_template() 模板渲染+模板

response对象,响应对象

response('字符串',headers={key:value})

response=make_response('.....')

response.headers['aaa']='yhh' #定制响应头

response对象可以调属性,也可以调用方法

request对象:把用户所有的请求类容都放入了其中

request.full_path

request.path

重点:

@app.route('/',methods=['GET','POST']) 请求方式设定

request.args.get(key) 用于接收get方式的参数

request.form.get(key) 用于接收post方式的参数

3.模板

render_template('name.html') 该方法用于调用相关的html页面,返回到该页面

4.重定向

方法:redirect()

首先是server向浏览器response过程,再这个过程中响应头中带有location参数和状态码:302(表示重定向),

浏览器收到这些信息后,将当前状态重定向到location:参数(表示重定向路径)

5.路由取名,便于使用

@app.route('/',endpoint='index') #endpoint='别名' 给API取别名

url=url_for('路由别名') #路由反向解析,解析出别名对应的API

redirect(url_for('路由别名')) 用于重定向

6.模板(网页)语法

将变量向模板上传,在HTML中写python代码,也就变成了模板语法。

学习:在flask文档中搜索“模板”。

模板引擎在使用render_template('show.html')方法时,会将show.html页面转换成str类型作为视图函数的返回值,

当遇到{{变量名}}时,就会确定它是一个模板语法,然后由模板引擎处理成想要的结果。

若{{变量名}}如果该变量在路由中没有对应的,那么就在前端以“空白字符串”填充。

重点:

在模板中获取视图中传递的变量值:{{变量名key}}

render_template('模板名',key=value,key=value)

name = '杨华' #str

age=18 #int

friends=['耿哥','风格','喊哥','开哥'] #list

dict={'gift1':'华为watch','gift2':'鲜花','gift3':'巧克力','gift4':'项链'} #dict

girl=Girl('小臭脚','贵州铜仁') #对象

模板:

{{list.0}}=={{list[0]}}

{{dict.key}}=={{dict.get(key)}}

{{girl.name}}=={{对象.属性}}

控制块:

{% if %}{% endif %} 必须是成对出现

{% for %}{% endfor %} 必须是成对出现

{% if 条件%}

单独的一个if

{% endif %}

{% if 条件%}

条件为True

{% else %}

条件为False

{% endif %}

{% for 遍历 in 可迭代对象 %}

for循环要做的任务(循环体)

{% endfor %}

注:在for循环中还可以使用loop变量。

loop.index0 序号由0开始

loop.index 序号由1开始

loop.first 是否是第一个,返回值为Boolean

loop.last 是否是最后一行,返回值为Boolean

7.过滤器

过滤器的本质就是函数

模板语法中过滤器的使用

{{变量名|过滤器(*args)}}

{{变量名|过滤器}}

常用的过滤器:

str类型的操作:

1.safe: 禁止转义

msg='

520 happy

'

return render_template('show2.html',girls=girls,users=users,msg=msg)

不想让其HTML元素不被转义成str类型:

{{ msg | safe }}

2.capitalize: 单词首字母大写

{{ cap | capitalize }}

3.lower: 单词全部小写

{{ cap|lower }}

4.upper: 单词全部大写

{{ cap|upper }}

5.title:一句话中的每个单词的首字母大写

{{ cap|title }}

6.reverse:反转

{{ cap|reverse }}

7.format: 格式化输出

{{ '%s is %d years old'| format('luoli',18) }}

8.truncate:字符串截断

{{ 'hello world'| truncate(5) | capitalize}}

list类型的操作:

{{ girls |first }}

{{ girls | last }}

{{ girls|length }}

{#{{ girls|sum }} 只能适用于整型#}

{{ [1,2,3,5] | sum }}

{{ [9,1,2,3,5] | sort }}

dict类型的操作:

{% for v in users.0.values() %} ---------- 获取字典中的值

{{ v }}

{% endfor %}

{% for k in users.0.keys() %} -----------获取字典中的Key

{{ k }}

{% endfor %}

{% for k,v in users.0.items() %}------------获取字典中的Key和Value

{{ k }} --- {{ v }}

{% endfor %}

python flask 路由_Python之Flask 路由与模板语法相关推荐

  1. flask篇B2,重定向,url_for,模板语法

    重定向与url_for 在app1.py文件中 from flask import Flask, request, redirect,url_for from flask import render_ ...

  2. python框架实例_Python之Flask框架项目Demo入门

    Flask是微型web框架,框架本身十分精简,微型并不代表其功能弱,核心代码基于Werkzeug, Jinja 2 这两个库,它以插件形式的进行功能扩展,且插件易于安装与使用,并且可以自行开发扩展插件 ...

  3. python骨灰教学_python+mongodb+flask的基本使用

    最近在做一个设备管理系统的后端,需要用python结合mongodb来实现,查了一下flask框架是比较合适的,自己摸索了好久一步步慢慢实现基本功能. 在程序开始之前请确保mongodb服务是开启的, ...

  4. python gevent缺点_python的flask框架结合gevent性能反而大幅度下降?

    这个问题有点复杂,建议题主将环境以及启动参数,运行的进程数量,以及如何运行的情况介绍一下. 在没有这些条件的情况下,我想以我自己的理解谈一下这个问题,这个问题原意题主是想借 gevent 提高性能,但 ...

  5. python flask 路由_python框架之Flask(2)-路由和视图Session

    路由和视图 这一波主要是通过看源码加深对 Flask 中路由和视图的了解,可以先回顾一下装饰器的知识:[装饰器函数与进阶] 路由设置的两种方式 #示例代码 from flask importFlask ...

  6. python flask安装_python flask安装和命令详解

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架.Web框架可以让我们不用关 心底层的请求响应处理,更方便高效地编写Web程序.因为Flask核心简 ...

  7. flask 路由 php文件,Flask 请求处理流程(一):WSGI 和 路由

    flask 一个基于 python 实现的Web开发微框架,主要依赖: Werkzeug:一个 python 的 WSGI 工具包,也可以作为一个 Web 框架的底层库. Jinja2:为 pytho ...

  8. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  9. python处理信号机制_Python的Flask框架中的signals信号机制

    Flask 提供了信号(Signals)功能,是一种消息分发机制.类似于钩子(Hooks).使用信号功能可以降低程序的耦合,分解复杂的业务模型.例如在更新了产品数据后,可以发送一个信号.当有需要对产品 ...

  10. python前端界面模板_Python编程flask使用页面模版的方法

    在flask中可以像go和angular那样使用页面模版(template),可以将HTML页面显示进行模版化,通过参数传递与页面进行数据交互. 概要信息 事前准备:flask liumiaocn:f ...

最新文章

  1. 服务器维护怎么联系抖音客服,如何联系抖音客服?
  2. 青岛...沙尘暴!太可怕了~什么事儿都有!
  3. python爬取方式_Python 爬虫入门(三)—— 寻找合适的爬取策略
  4. linux framebuffer 例子
  5. 万事开头难 - 介绍IMX6ULL启动方式
  6. 结型场效应管的结构、特性、参数
  7. linux syslog日志
  8. python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error
  9. VueCli4学习笔记
  10. shell字符串的截取的问题
  11. 有一种生活叫向死而生
  12. 基于斗鱼的娱乐直播视频平台--Vue移动端页面
  13. 直播APP源码,视频直播技术篇 。
  14. UIView的bounds、frame、center/position、anchorPoint的关系
  15. mysql实现周月表_Mysql,Mybatis做时间过滤报表:日周月统计
  16. R语言实现结构方程模型
  17. 360惊天后门曝光:“盗梦盒子”重现江湖
  18. 类,多态,抽象类,接口
  19. 临近年关,为何越来越多的程序员不愿回家,带你盘点那些程序员最怕的几件事
  20. 2022-2028全球与中国微生物强化采油市场现状及未来发展趋势

热门文章

  1. 如何防止亚马逊账户关联?
  2. Android实现中英文切换
  3. Sloth组件之NetRisc.Configuration
  4. Cache的Insert 和Add 方法引发的血案
  5. UVM-1.1学习(一)——uvm代码的分类
  6. 银行业务模拟系统的设计与实现(C语言)
  7. 指环王解析_回到指环王
  8. CapstoneCS5211,CS5212,CS5256,CS5811,CS5288,……型号大全
  9. 矿产资源勘查评价的新进展——GIS在矿产资源评价中的应用
  10. 检验两个随机序列的beta系数