Python_Flask学习笔记

news2024/11/25 14:32:31

1.配置
在这里插入图片描述

  1. 查询字符串的形式传参
@app.route('/book/list')
def book_list():
    page = request.args.get('page',default=1,type=int)
    return f"您获取的是{page}的图书列表!"

if __name__ == '__main__':
    app.run()

在这里插入图片描述
3.HTML模版渲染

from flask import Flask,render_template

app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')


if __name__ == "__main__":
    app.run()

在这里插入图片描述
4.使用HTML传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>中科汇成</title>
</head>
<body>
<h1>您的book_id是{{ blog_id }}</h1>
</body>
</html>
from flask import Flask,render_template

app = Flask(__name__)


@app.route('/blog/<int:blog_id>')
def blog(blog_id):
    return render_template('blog.html',blog_id=blog_id)
if __name__ == "__main__":
    app.run()

5.类属性传递

from flask import Flask,render_template

app = Flask(__name__)

class User:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"User(name={self.name},age={self.age})"

@app.route('/')
def hellow_world():
    user = User(name='张三',age=18)
    return render_template('index.html',user=user)


if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>中科汇成</title>
</head>
<body>
用户姓名{{ user.name }}
用户年龄{{ user.age }}
</body>
</html>

6.字典类型数据传递

from flask import Flask,render_template

app = Flask(__name__)

class User:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"User(name={self.name},age={self.age})"

@app.route('/')
def hellow_world():
    user = User(name='张三',age=18)
    person = {
        "name": "李四",
        "age": 20

    }
    return render_template('index.html',user=user,person = person)


if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>中科汇成</title>
</head>
<body>


{{ person.name }}
 {{ person.age }}

{{ person['name'] }}
{{ person['age'] }}
</body>
</html>

7.过滤器(传参之前先抛给一个函数处理)

from flask import Flask,render_template

app = Flask(__name__)

class User:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"User(name={self.name},age={self.age})"



@app.route('/filter')
def filter():
    user = User(name='张三11111',age=18)
    return render_template('filter.html',user=user)



if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{{ user.name|length }}

</body>
</html>

8.自定义过滤器

from flask import Flask,render_template
from datetime import datetime
app = Flask(__name__)

class User:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"User(name={self.name},age={self.age})"

def datetime_format(value,format='%Y-%d-%m %H:%M'):
    return value.strftime(format)
app.add_template_filter(datetime_format,'dformat')





@app.route('/filter')
def filter():
    user = User(name='张三11111',age=18)
    mytime = datetime.now()

    return render_template('filter.html',user=user,mytime = mytime)



if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{{ mytime|dformat }}

</body>
</html>

9.流程控制

from flask import Flask,render_template
from datetime import datetime
app = Flask(__name__)


@app.route('/control')
def control():
    return render_template('control.html',age=17)

if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% if age < 18 %}
        <p>未成年</p>
    {% elif age==18 %}
        <p>成年</p>
    {% else %}
        <p>老年</p>

    {% endif %}
</body>
</html>
  1. 控制语句2
from flask import Flask,render_template
from datetime import datetime
app = Flask(__name__)


@app.route('/control')
def control():
    books = [
        {"name": "book1", "author": "author1"},
        {"name": "book2", "author": "author2"},

    ]
    return render_template('control.html',books=books)

if __name__ == "__main__":
    app.run()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>控制台</h1>
{% for book in books %}
<div>名称:{{ book.name }},作者:{{ book.author }}</div>
{% endfor %}
</body>
</html>

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

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

相关文章

大厂的堡垒机到底是啥?为什么需要它?

什么是堡垒机 堡垒机&#xff0c;即在一个特定的网络环境下&#xff0c;为了保障网络和数据不受来自外部和内部用户的入侵和破坏&#xff0c;而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为&#xff0c;以便集中报警、及…

使用 Elastic Observability 中的 OpenTelemetry 进行基础设施监控

作者&#xff1a;来自 Elastic ISHLEEN KAUR 将 OpenTelemetry 与 Elastic Observability 相结合&#xff0c;形成应用程序和基础设施监控解决方案。 在 Elastic&#xff0c;我们最近决定全面采用 OpenTelemetry 作为首要的数据收集框架。作为一名可观察性工程师&#xff0c;我…

YOLOv9最新最全代码复现(论文复现)

YOLOv9最新最全代码复现&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 YOLOv9最新最全代码复现&#xff08;论文复现&#xff09;引言YOLOv9模型概述模型框架图环境搭建及训练推理环境配置数据集准备训练过程测试和评估实践应用 报错修…

【CVPR2024】Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配

Efficient LoFTR: 高效的 LoFTR&#xff1a;具有类似稀疏的速度的半密集局部特征匹配 Efficient LoFTR realtime_demo 0.摘要 \qquad 我们提出了一种新的方法来有效地产生跨图像的半密集匹配。以往的无探测器匹配器LoFTR在处理大视点变化和纹理差的场景下表现出了出色的匹配能力…

【零基础必看的前端教程】——JavaScript(八)函数

欢迎大家打开前端的新篇章——JavaScript&#xff0c;JavaScript与HTML、CSS合称为前端三大件&#xff0c;JavaScript是前端的重中之重&#xff0c;小洪将继续以零基础视角&#xff0c;带你循序渐进学习前端知识&#xff0c;一看就懂&#xff0c;小白也能转行做前端&#xff01…

创建个人公私钥对

Windows电脑 本地电脑打开命令输入框&#xff0c;如windows WINR–cmd打开cmd窗口输入ssh-keygen -t rsa -C “Remote dev” &#xff0c;按三次回车&#xff0c;即可看到本地生成的公私钥进入用户目录&#xff0c;如windows为C:\Users\xxx(个人域账号).ssh&#xff0c;可看到…

在C++程序中新建并使用库

创建一个新的cpp文件后&#xff0c;定义一个函数 我们希望这个函数是可以被多个程序调用的&#xff0c;而不是直接输入在程序中进行编译。在C程序中&#xff0c;不是所有代码都会被编译成可执行文件&#xff0c;只有main函数所在的程序才可以生成可执行文件。而这个库是通过上一…

(第三期)书生大模型实战营——书生大模型全链路开源开放体系

任务及教程来自书生大模型实战营https://github.com/InternLM/Tutorial

负载均衡、软件平滑升级

安装nginx 1.26.1 平滑升级、负载均衡 安装依赖 gcc gcc-c pcre-devel openssl-devel 七层负载均衡配置&#xff1a; [rootf ~]# vim /usr/local/nginx/conf/nginx.conf 43 location / {44 # root html;45 # index index.html index…

在docker中安装MongoDB 5.0+

文章目录 1、查看物理机是否支持avx指令集&#xff1a;安装资料中的cpu-z_2.10-cn.exe&#xff0c;并打开2、查看虚拟机是否支持avx指令集&#xff1a;3、创建目录4、使用Docker来运行一个MongoDB数据库实例5、进入容器6、查看当前db版本7、查看当前db的链接机器地址8、帮助指令…

《昇思25天学习打卡营第24天》

接续上一天的学习任务&#xff0c;我们要继续进行下一步的操作 构造网络 当处理完数据后&#xff0c;就可以来进行网络的搭建了。按照DCGAN论文中的描述&#xff0c;所有模型权重均应从mean为0&#xff0c;sigma为0.02的正态分布中随机初始化。 接下来了解一下其他内容 生成…

程序一调用这个接口就会崩溃, 因为他的静态库添加是放在release文件下,而我用的debug模式

程序一调用这个接口就会崩溃 因为他的静态库添加是放在release文件下 而我用的debug模式 DESTDIR ../x64/ReleaseINCLUDEPATH ./../3rdparty/ZZDecode/include LIBS -lopengl32 \-lglu32 \-luser32 \./../3rdparty/ZZDecode/x64/release/ZZDecodeInterface.lib

华为仓颉语言测试申请

1. 申请网址 HarmonyOS NEXT仓颉语言开发者预览版 Beta招募- 华为开发者联盟 点击立即报名登录华为账号 勾选选项 , 点击同意 按要求填写信息即可 2. 申请通过后官方会通过邮件的方式发送相关下载途径 , 根据文档进行下载即可 package Cangmain(): Int64 {println("你…

Springboot使用Redis实现分布式锁

1、使用场景和实现方案&#xff1a; 使用场景&#xff1a;本地锁如Lock和Syncronized只能锁住本地进程&#xff0c;在分布式应用中&#xff0c;需要使用分布式锁来更好实现特定的业务。 实现方案&#xff1a;有多种&#xff0c;比如使用mysql、zookeeper、redis&#xff0c;各…

nginx续1:

八、虚拟主机配置 基于域名的虚拟主机 [rootserver2 ~]# ps -au|grep nginx //查看进程 修改Nginx服务配置&#xff0c;添加相关虚拟主机配置如下 1. [rootproxy ~]# vim /usr/local/nginx/conf/nginx.conf 2. .. .. 3. server { 4. listen …

基于Material studio拉伸-断裂过程的Perl脚本

在材料科学的研究中&#xff0c;拉伸-断裂过程一直是科学家们探索的焦点。这一过程涉及复杂的力学行为和材料内部微观结构的变化&#xff0c;对于理解材料的性能至关重要。然而&#xff0c;传统的实验方法不仅耗时耗力&#xff0c;而且难以捕捉到微观尺度上的所有细节。 为了满…

jQuery前端网页制作

1、Jquery的概述 1.1JavaScript库 JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。 为了应对这些调整,许多的 JavaScript (helper) 库应运而生。 这些 JavaScript 库常被称为 JavaScript 框架。 市面上一些广受欢迎的 JavaScript 框架:…

visual studio性能探测器使用案列

visual studio性能探测器使用案列 在visual studio中&#xff0c;我们可以使用自带的工具对项目进行性能探测&#xff0c;具体如下 1.选择性能探查器 Vs2022/Vs2019中打开方式&#xff1a; Vs2017打开方式&#xff1a; 注意最好将解决方案配置为&#xff1a;Release Debu…

【未来餐饮】 配送设置

一、创建门店 关键信息 1. 门店名字要有辨识度&#xff0c;尽量不和其他客户重名 2. 地址要具体到门牌号 3. 定位要和上面的地址一致 可以复制地址搜索地图&#xff0c;然后选择位置 二、创建配送模板 新建模板 填写模板 命名模板&#xff0c;勾上真省钱&#xff0c;然后保…

Meta再下一城:SAM 2

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- “继用于图像的Meta Segment Anything Model &#xff08;SAM&#xff09;取得成功之后&#xff0c;我们发布了SAM 2&#xff0c;这是一种用于在图像和视频中实时进行对象分割的统一模型&#…