当前位置:网站首页>flask基础知识:
flask基础知识:
2022-08-08 18:07:00 【중둑【上瘾】】
Flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架。flask 是第三方写好的工具包
基本模式
Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上、
如果看不懂定义,那看下面操作,你肯定能理解。
执行操作
在pycharm; new project一个新的flask,就会出现下图情况
运行结果为:
1:127.0.0.1 地址 指代的是本机访问
2:如果是0.0.0.0 地址 指代可以接受外部任何访问
3:5000 网站运行的端口, 80端口会自动省略;即只需要访问 127.0.0.1/就可以,不需要访问127.0.0.1/:80
4:/xxx,xxx 代表网站的根目录 也是默认目录
当你访问此ip时,就会出现
可以这么操作,分别访问/login和/hello ,会是三个不同的网页
到现在可以很好的理解,flask就是一个工具,方便我们操作。
static -> 存放静态资源文件,图片,视频
templates -> 模板,存放你写好的html文件
venv -> python的基本环境,是使用虚拟环境创建的
app.py -> Web程序的入口
URL传参
得到的结果是这样的:
URL反转
url_for("hhh"): hhh为函数名 ;
url_for是得到函数所在的路由地址;
得到的结果如下:
打印了hhh函数所在的路由地址。
跳转和重定向
当你访问/student是因为存在url_index储存了index函数的路由地址,在redirect函数下会跳转到/cal页面下。所以只要访问/student打开的就是/cal
过滤器
过滤器是通过|进行使用的,它是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取.例如{ { name|length }},将返回name的长度,过滤器相当于是一个函数,把当前的的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再渲染到模板页面中。
{# 当变量未定义时,显示默认字符串,可以缩写为d #}
<p>{ { name | default('No name', true) }}</p>
{# 单词首字母大写 #}
<p>{ { 'hello' | capitalize }}</p>
{# 单词全小写 #}
<p>{ { 'XML' | lower }}</p>
{# 去除字符串前后的空白字符 #}
<p>{ { ' hello ' | trim }}</p>
{# 字符串反转,返回"olleh" #}
<p>{ { 'hello' | reverse }}</p>
{# 格式化输出,返回"Number is 2" #}
<p>{ { '%s is %d' | format("Number", 2) }}</p>
{# 关闭HTML自动转义 #}
<p>{ { '<em>name</em>' | safe }}</p>
{% autoescape false %}
{# HTML转义,即使autoescape关了也转义,可以缩写为e #}
<p>{ { '<em>name</em>' | escape }}</p>
{% endautoescape %}
{# 四舍五入取整,返回13.0 #}
<p>{ { 12.8888 | round }}</p>
{# 向下截取到小数点后2位,返回12.88 #}
<p>{ { 12.8888 | round(2, 'floor') }}</p>
{# 绝对值,返回12 #}
<p>{ { -12 | abs }}</p>
{# 取第一个元素 #}
<p>{ { [1,2,3,4,5] | first }}</p>
{# 取最后一个元素 #}
<p>{ { [1,2,3,4,5] | last }}</p>
{# 返回列表长度,可以写为count #}
<p>{ { [1,2,3,4,5] | length }}</p>
{# 列表求和 #}
<p>{ { [1,2,3,4,5] | sum }}</p>
{# 列表排序,默认为升序 #}
<p>{ { [3,2,1,5,4] | sort }}</p>
{# 合并为字符串,返回"1 | 2 | 3 | 4 | 5" #}
<p>{ { [1,2,3,4,5] | join(' | ') }}</p>
{# 列表中所有元素都全大写。这里可以用upper,lower,但capitalize无效 #}
<p>{ { ['tom','bob','ada'] | upper }}</p>
边栏推荐
猜你喜欢
2021年9月电子学会图形化二级编程题解析含答案:帮小企鹅躲避暴风雪
HCIP第十三天作业——综合实验
Task-Driven Super Resolution: Object Detection in Low-resolution Images
面了个腾讯30k+出来的,他让我见识到什么叫精通MySQL调优
2021年9月电子学会图形化二级编程题解析含答案:画正多边形
spark学习笔记(八)——sparkSQL概述-定义/特点/DataFrame/DataSet
Go-Excelize API源码阅读(四)——Save()
差分信号简述
Go源码之原子操作(atomic)
2021年9月电子学会图形化一级编程题解析含答案:小狗进圈
随机推荐
常用字符的编码
【DB运营管理/开发解决方案】上海道宁为您提供提高工作便利性的集成开发工具——Orange
一些小题22.08.07
Node基于TCP建立的服务器
荧光探针/近红外荧光/荧光纳米/水凝胶/纳米水凝胶pH荧光探针的研究
List<String>用空串替换null值,并且都加上单引号,并且转为字符串用,分割
前缀和的本质
21天学习第四天--流程控制
啥?分库分表会带来读扩散问题?怎么解决???
连接工具和idea能查询出数据库数据,项目中查不到数据库数据:解决办法
Go-Excelize API源码阅读(四)——Save()
PX4模块设计之十八:Logger模块
Task-Driven Super Resolution: Object Detection in Low-resolution Images
AtCoder Regular Contest 145
从2022投影行业最新报告,读懂2022年家用智能投影仪该怎么选!
面试官:synchronized 和 Lock 的区别是什么?
医疗机构漏诊,该不该赔?--一起交通事故多处骨折,又遇到医疗机构漏诊
IP分配——DHCP(讲解+配置)
章节小测一
JVM内存模型和结构详解(五大模型图解)