python flask 路由_Python之Flask 路由与模板语法
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 路由与模板语法相关推荐
- flask篇B2,重定向,url_for,模板语法
重定向与url_for 在app1.py文件中 from flask import Flask, request, redirect,url_for from flask import render_ ...
- python框架实例_Python之Flask框架项目Demo入门
Flask是微型web框架,框架本身十分精简,微型并不代表其功能弱,核心代码基于Werkzeug, Jinja 2 这两个库,它以插件形式的进行功能扩展,且插件易于安装与使用,并且可以自行开发扩展插件 ...
- python骨灰教学_python+mongodb+flask的基本使用
最近在做一个设备管理系统的后端,需要用python结合mongodb来实现,查了一下flask框架是比较合适的,自己摸索了好久一步步慢慢实现基本功能. 在程序开始之前请确保mongodb服务是开启的, ...
- python gevent缺点_python的flask框架结合gevent性能反而大幅度下降?
这个问题有点复杂,建议题主将环境以及启动参数,运行的进程数量,以及如何运行的情况介绍一下. 在没有这些条件的情况下,我想以我自己的理解谈一下这个问题,这个问题原意题主是想借 gevent 提高性能,但 ...
- python flask 路由_python框架之Flask(2)-路由和视图Session
路由和视图 这一波主要是通过看源码加深对 Flask 中路由和视图的了解,可以先回顾一下装饰器的知识:[装饰器函数与进阶] 路由设置的两种方式 #示例代码 from flask importFlask ...
- python flask安装_python flask安装和命令详解
Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架.Web框架可以让我们不用关 心底层的请求响应处理,更方便高效地编写Web程序.因为Flask核心简 ...
- flask 路由 php文件,Flask 请求处理流程(一):WSGI 和 路由
flask 一个基于 python 实现的Web开发微框架,主要依赖: Werkzeug:一个 python 的 WSGI 工具包,也可以作为一个 Web 框架的底层库. Jinja2:为 pytho ...
- python django flask介绍_Python开发WEB框架Flask详细介绍
Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...
- python处理信号机制_Python的Flask框架中的signals信号机制
Flask 提供了信号(Signals)功能,是一种消息分发机制.类似于钩子(Hooks).使用信号功能可以降低程序的耦合,分解复杂的业务模型.例如在更新了产品数据后,可以发送一个信号.当有需要对产品 ...
- python前端界面模板_Python编程flask使用页面模版的方法
在flask中可以像go和angular那样使用页面模版(template),可以将HTML页面显示进行模版化,通过参数传递与页面进行数据交互. 概要信息 事前准备:flask liumiaocn:f ...
最新文章
- 服务器维护怎么联系抖音客服,如何联系抖音客服?
- 青岛...沙尘暴!太可怕了~什么事儿都有!
- python爬取方式_Python 爬虫入门(三)—— 寻找合适的爬取策略
- linux framebuffer 例子
- 万事开头难 - 介绍IMX6ULL启动方式
- 结型场效应管的结构、特性、参数
- linux syslog日志
- python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error
- VueCli4学习笔记
- shell字符串的截取的问题
- 有一种生活叫向死而生
- 基于斗鱼的娱乐直播视频平台--Vue移动端页面
- 直播APP源码,视频直播技术篇 。
- UIView的bounds、frame、center/position、anchorPoint的关系
- mysql实现周月表_Mysql,Mybatis做时间过滤报表:日周月统计
- R语言实现结构方程模型
- 360惊天后门曝光:“盗梦盒子”重现江湖
- 类,多态,抽象类,接口
- 临近年关,为何越来越多的程序员不愿回家,带你盘点那些程序员最怕的几件事
- 2022-2028全球与中国微生物强化采油市场现状及未来发展趋势