Flask 知识点整理

news2024/9/30 3:25:06

文章目录

  • 1.URL与视图的映射
      • 带参数的url:将参数固定到了path中
      • 查询字符串的方式传参
  • 2.模板渲染
      • 给html文件传参
  • 3.模板访问对象属性
      • User 是个类
      • User是个字典
  • 4.过滤器的使用
      • 通过一个 | 管道符进行过滤
      • 自定义过滤器
  • 5.控制语句
      • if
      • for

1.URL与视图的映射

带参数的url:将参数固定到了path中

from flask import Flask

app = Flask(__name__)


@app.route('/blog/<int:blog_id>')
def blog_detail(blog_id):
    return "访问的是:%s"% blog_id

查询字符串的方式传参

from flask import Flask , request

@app.route('/book/list')
def book_list():
    page = request.args.get("page",default = 1,type = int)
    return f"您获取的是第{page}的图书列表!"

http://127.0.0.1:5000/book/list?page=5

在这里插入图片描述


2.模板渲染

给html文件传参

from flask import Flask,render_template

@app.route('/blog/<int:blog_id>')
def blog_detail(blog_id):
    return render_template("blog_detail.html",blog_id,username = "krien")
<body>	
<p> 您的用户名是 {{ username }}</p>
<h1>您访问的博客详情是:{{ blog_id }}</h1>
<body>


3.模板访问对象属性

User 是个类

class User:
    def __init__(self,username,email):
        self.username = username
        self.email = email

@app.route('/')
def hello_world():  # put application's code here
    user = User(username = "krien", email = "xx@qq.com")
    return render_template('index.html',user = user)
<body>	

{{ user.username }} / {{ user.email }}

<body>

User是个字典

from flask import Flask,render_template ,request

app = Flask(__name__)

@app.route('/')
def hello_world():  # put application's code here
    user = User(username = "krien", email = "xx@qq.com")
    person = {
        "username":"张三",
        "email":"zhangsan@163.com"
    }
    return render_template('index.html',user = user,person = person)
<body>	

<div> {{ user.username }} / {{ user.email }} </div>
<div> {{ person.username}} / {{ person.email }} </div>

<body>


4.过滤器的使用

通过一个 | 管道符进行过滤

from flask import Flask,render_template ,request

from flask import Flask,render_template ,request

@app.route('/filter')
def filter_demo():  # put application's code here
    user = User(username = "krien", email = "xx@qq.com")
    return render_template('filter.html',user = user)
<body>	
{{ user.username }}-{{ user.username|length }}
<body>

自定义过滤器

过滤器本质上是一个 Python 函数,他会把过滤的值当作第一个参数传给这个函数,函数经过一些逻辑处理后,在返回新的值。在过滤器函数写好之后,可以通过@app.template_filter装饰器或者是 app.add_template_filter 函数来把函数注册成Jinjia2 能用的过滤器

from flask import Flask,render_template ,request
from datetime import datetime

app = Flask(__name__)

def datetime_format(value,format = "%Y年%m月%d日 %H:%M"):
	return value,strftime(format)
	
app.add_template_filter(datetime_format,"dformat")


@app.route('/filter')
def filter_demo():  # put application's code here
    user = User(username = "krien", email = "xx@qq.com")
    mytime = date_time.now()
    return render_template('filter.html',user = user,mytime = mytime)

<body>	
{{ user.username }}-{{ user.username|length }}
<div> {{mytime|dformat}} </div>
<body>


5.控制语句

if

@app.route("/control")
def control_statement():
	age = 17
	return render_template("control.html",age=age)
<body>	
{{% if age>18 %}}
	<div>您已经满18,可以进入网吧</div>
{{% elif age==18 %}}
	<div>您刚满18,需要父母陪同</div>
{{% else %}}
	<div>您未满18,不能进去</div>
{{% endif %}}
<body>

for

{{% for book in books %}}
	<div>图书名称:{{ book.name }},图书作者:{{ book.auther }}</div>
{{% endfor %}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IIC总线简介

IIC总线 IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线 主要用于近距离、低速的芯片之间的通信&#xff1b;IIC总线有两根双向的信号线一根数据线SDA用于收发数据&#xff0c;一根时钟线SCL用于通信双方时钟的同步&#xff1b;IIC总线硬件结构简单&#xff0c;成…

第9章 项目成本管理

文章目录 9.1.1 成本与成本管理概念 329项目成本管理的过程 9.1.2 相关术语 331成本的类型&#xff08;6种&#xff09;应急储备与管理储备 9.2.3 项目成本管理计划制订的 输出 3349.3.1 项目成本估算的主要相关因素 335项目估算还需要考虑但 容易被忽视的 主要因素 9.3.2 项目…

贪心 题目集

任务安排问题 某个系统中有一个设备&#xff0c;该设备每次只能分配给一个任务使用&#xff0c;且只有当任务结束后才能再分配给另一个任务使用。 假设系统启动时间计为时间0点&#xff0c;预先有一份任务计划表&#xff0c;预定了每个任务的开始时间点和持续时间。 要求设计算…

[大二下]手把手1小时下载Pandoc

老规矩先给各位友友们提供参考解决方法,再说为啥是怎么和这哥们结缘的~ 为了能更加详细,小卓又卸载了重装了一遍!!! 所以麻烦各位佬, 能给个赞, 谢谢各位佬了,坦诚的说,因为友友们免费的点赞收藏,却是我写下去的动力~ 第一步:进入官网(如果没有科学上网的可能比较慢, 如果真的…

腾讯云 Ubuntu Desktop 22.04 桌面版

安装 Ubuntu Server 22.04 安装 Ubuntu Server 22.04重置登陆密码&#xff0c; 默认用户名 ubuntu 添加用户 不建议直接使用默认用户&#xff0c; 添加用户&#xff08;demodeom&#xff09; sudo adduser demodeom将 demodeom 添加到 sudoer 文件 sudo visudo在文件末尾添…

2023五一赶制个人系统:基于SpringBoot+MyBatisPlus+Vue+ElementUI前后端分离

小钊记前言 &#x1f351;一、背景&#x1f351;二、调研准备阶段&#x1f34a;2.1、项目-自己搭建&#x1f353; 搭建步骤 &#x1f34a;2.2、项目需求-自己X造&#x1f34a;2.2、数据模型设计 &#x1f351;三、开发阶段&#x1f351;四、renxiaozhao 1.0.0-alpha发布&#x…

BPMN2.0 任务-服务任务

服务任务是任务的一种,工作由软件自动完成,比如一个Web服务或者一个自动化的应用。 服务任务用于调用服务。 在flowable中分为java服务任务,用于调用java类,web服务任务用于同步的调用外部的web服务。 在Camunda是通过调用java代码或者为外部执行者提供一个工作单元来完…

真题详解(ICMP)-软件设计(六十五)

真题详解&#xff08;对象&#xff09;-软件设计&#xff08;六十四)https://blog.csdn.net/ke1ying/article/details/130459425 程序的三种基本控制结构&#xff1a;顺序、选择和重复。 在网络系统中&#xff0c;通常吧_____置于DMZ区。 答案&#xff1a;Web服务器 解析&am…

STL常用梳理——VECTOR常用接口及其迭代器实现

Vector篇 Vector介绍Vector实现1、定义默认构造函数使用实现 2、迭代器Iterator迭代器使用 3、空间增长问题使用实现 迭代器迭代器介绍迭代器实现 Vector介绍 vector是STL中容器之一&#xff0c;特性如下&#xff1a; vector是表示可变大小数组的序列容器。就像数组一样&#…

【python入门篇】你好python

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

软件测试实战,Web测试详细总结 (覆盖所有测试点),你要的都有

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Web自动化测试&…

Python 将 PDF 转换为 Word

大家好&#xff0c;我是水滴~ 在平时的工作中&#xff0c;我们总会希望将需要的 PDF 文件转换为 Word 文件&#xff0c;而市面上很多工具都是收费的&#xff0c;这无疑增加了我们的成本。 所以&#xff0c;我使用 Python 编写了一个转换代码&#xff0c;可以 将 PDF 转换为 W…

从远程桌面客户端提取明文凭证的工具RdpThief

导语&#xff1a;在本文中&#xff0c;我将描述我编写的一个工具&#xff0c;能使用API钩子从Microsoft RDP客户端提取明文凭据&#xff0c;而且如果是在已经受感染用户的权限下操作&#xff08;比如网络钓鱼导致&#xff09;&#xff0c;并且该用户已打开RDP会话&#xff0c;则…

elasticsearch 使用 RestAPI 操作索引库

1.mysql与elasticsearch 我们统一的把mysql与elasticsearch的概念做一下对比&#xff1a; MySQLElasticsearch说明TableIndex索引(index)&#xff0c;就是文档的集合&#xff0c;类似数据库的表(table)RowDocument文档&#xff08;Document&#xff09;&#xff0c;就是一条条…

如何从0到1落地自动化测试?何为成熟模型?测试老鸟的总结...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 过去十年&#xf…

离散数学_九章:关系(5)

&#x1f6a9;9.5 等价关系 1、等价关系&#xff08;Equivalence Relations&#xff09;等价关系等价的元素&#x1f4d8;例1&#xff1a;模m同余 &#x1f4d8;例2&#xff1a;字符串 &#x1f4d8;例3&#xff1a;整除 2、等价类&#xff08;Equivalence Classes&#xff09…

DP动态规划

1.背包问题 1.1 0/1背包 1.1.1经典做法 def solve(N,C): # 从左到右&#xff0c;从上到下 &#xff08;先种类&#xff0c;再体积&#xff09;for i in range(1,N1): # N种物品&#xff0c;先1种&#xff0c;再2种......for j in range(0,C1): # 当前背包体积if c[i]>j :…

武忠祥老师每日一题||定积分基础训练(四)

已知&#xff0c; ln ⁡ ( x 1 x 2 ) 为奇函数&#xff08;证明放在文章末尾&#xff09; \ln (x\sqrt{1x^2})为奇函数&#xff08;证明放在文章末尾&#xff09; ln(x1x2 ​)为奇函数&#xff08;证明放在文章末尾&#xff09; 所以&#xff0c; ∫ − 2 2 ln ⁡ ( x 1 …

13万字林业局信息化设计信息化及数据中心、森林防火平台建设方案

1.1.1 应用系统集成平台 集成平台起到“承下启上”的作用&#xff0c;“承下”是指其基于数据中心&#xff0c;提供数据关联、处理和转换等服务&#xff0c;“启上”是指其为上层应用系统提供数据和整合服务。此外&#xff0c;集成平台也为系统与外部系统、外部资源提供交换和…

基于micro-app+vue-element-admin实现微前端

简述 本文是在对之前搭建和学习micro-app的基础上的进一步研究学习。 因为我们目前项目使用的框架是vue-element-admin&#xff0c;所以还需要研究一下micro-app在vue-element-admin的使用方法。 关于micro-app在vue-element-admin的实现&#xff0c;百度什么也没找到&#xf…