初识Flask

摆上中文版官方文档网站:https://flask.github.net.cn/quickstart.html
开启实验之路~~~~~~~~~~~~~

from flask import Flaskapp = Flask(__name__)
# 使用修饰器告诉flask触发函数的URL,绑定URL,后面的函数用于返回用户在浏览器上看到的内容
# 注意 route() 内的URL后面带`/`和不带`/`是有区别的,Flask是可以区分的,不能混用,否则访问网页时返回是错的
@app.route('/12/')
def helloWorld():return 'Hello World!'@app.route('/12')
def test():return 'test 12!'if __name__ == '__main__':# run 参数 host="0.0.0.0"代表服务器被公开访问,port=5000设定访问的接口app.run(host="0.0.0.0", port=5000)

引入URL变量
通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 converter:variable_name ,可以 选择性的加上一个转换器,为变量指定规则

@app.route('/user/<username>')
def show_user_profile(username):# show the user profile for that userreturn 'User %s' % escape(username)@app.route('/post/<int:post_id>')
def show_post(post_id):# show the post with the given id, the id is an integerreturn 'Post %d' % post_id@app.route('/path/<path:subpath>')
def show_subpath(subpath):# show the subpath after /path/return 'Subpath %s' % escape(subpath)

转换器的类型:

string(缺省值)接受任何不包含斜杠的文本
int接受正整数
float接受正浮点数
path类似string,但可以包含斜杠
uuid接受UUID字符串

动态构建URL, url_for()

from flask import Flask, url_forapp = Flask(__name__)@app.route('/')
def index():return 'index'@app.route('/login')
def login():return 'login'@app.route('/user/<username>')
def profile(username):return '{}\'s profile'.format(username)with app.test_request_context():print(url_for('index'))print(url_for('login'))print(url_for('login', next='/'))print(url_for('profile', username='John Doe'))

这个只是打印出URL而已,并不会发起请求

使用 HTTP方法
缺省情况下,一个路由只回应 GET 请求。 可以使用 route() 装饰器的 methods 参数来处理不同的 HTTP 方法:

from flask import request, Flaskapp = Flask(__name__)@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'POST':return do_the_login()else:return show_the_login_form()def do_the_login():return "do the loging"def show_the_login_form():return "show the login from"app.run()

静态文件:
动态的 web 应用也需要静态文件,一般是 CSS 和 JavaScript 文件。理想情况下你的 服务器已经配置好了为你的提供静态文件的服务。但是在开发过程中, Flask 也能做好 这项工作。只要在你的包或模块旁边创建一个名为 static 的文件夹就行了。 静态文件位于应用的 /static 中。
使用特定的 ‘static’ 端点就可以生成相应的 URL
url_for('static', filename='style.css')
这个静态文件在文件系统中的位置应该是 static/style.css 。

渲染模板:
使用 render_template() 方法可以渲染模板,你只要提供模板名称和需要 作为参数传递给模板的变量就行了。Flask 会在 templates 文件夹内寻找模板。因此,如果你的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面(模板参考 Jinja2,https://jinja.palletsprojects.com/en/3.1.x/templates/)

from flask import render_template@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):return render_template('hello.html', name=name)

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

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

相关文章

Spring Cloud + Vue前后端分离-第5章 单表管理功能前后端开发

Spring Cloud Vue前后端分离-第5章 单表管理功能前后端开发 完成单表的增删改查 控台单表增删改查的前后端开发&#xff0c;重点学习前后端数据交互&#xff0c;vue ajax库axios的使用等 通用组件开发:分页、确认框、提示框、等待框等 常用的公共组件:确认框、提示框、等待…

系列九、事务

一、事务 1.1、概述 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或者撤销操作请求&#xff0c;即&#xff1a;这些操作要么同时成功&#xff0c;要么同时失败。 例如: 张三给李四转账1000块钱&…

使用邮件群发平台,轻松实现高效沟通的4大优势!

新媒体带动着众多线上平台的发展&#xff0c;使得流量为企业带来了可观的营收。但是&#xff0c;随着短视频市场的饱和&#xff0c;想要再次获得初始时的流量就变得越发困难。在这个时候&#xff0c;企业不妨将眼光往邮件群发这个传统的营销方式上倾斜&#xff0c;特别是出海、…

多进程间通信学习之共享内存

共享内存&#xff1a;1、在内核中创建共享内存&#xff1b;2、进程1和进程2都能够访问到&#xff0c;通过这段内存空间进行数据传递&#xff1b;3、共享内存是所有进程间通信方式中&#xff0c;效率最高&#xff0c;不需要在内核中往返进行拷贝&#xff1b;4、共享内存的内存空…

prometheus简介

什么是Prometheus Prometheus 是一个开源的服务监控系统和时序数据库&#xff0c;其提供了通用的数据模型和快捷数据采集、存储和查询接口。Prometheus的特点 多维数据模型&#xff1a;由度量名称和键值对标识的时间序列数据 时序数据&#xff0c;是在一段时间内通过重复测量&…

数据结构之---- 动态规划

数据结构之---- 动态规划 什么是动态规划&#xff1f; 动态规划是一个重要的算法范式&#xff0c;它将一个问题分解为一系列更小的子问题&#xff0c;并通过存储子问题的解来避免重复计算&#xff0c;从而大幅提升时间效率。 在本节中&#xff0c;我们从一个经典例题入手&am…

Web5:互联网发展的下一个前沿

最近发现了互联网的下一代发展“Web5”&#xff0c;这激起了我分享我对此的见解的兴趣。自 1993 年互联网诞生以来&#xff0c;它已经发生了很大的变化&#xff0c;为我们带来了大量很酷的应用程序&#xff0c;让我们的生活每天都变得更加美好。我们的想法是让互联网的使用变得…

盛最多水的容器

给定一个长度为 n 的整数列表 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示例1&…

Python基础01-环境搭建与输入输出

零、文章目录 Python基础01-环境搭建与输入输出 1、Python概述 &#xff08;1&#xff09;为什么要学习Python 技术趋势&#xff1a;Python自带明星属性&#xff0c;热度稳居编程语言界前三 简单易学&#xff1a;开发代码少&#xff0c;精确表达需求逻辑&#xff1b;33个关…

什么是Maven?

什么是Maven 1、Maven是依赖管理、项目构建工具。 pom.xml springBoot项目的核心配置文件&#xff0c;pom项目对象模型、Dependency依赖管理模型。 Maven中的GAVP是指&#xff1a; 1、GroupId&#xff1a;当前工程组织id&#xff0c;例如&#xff1a;com.jd.tddl 2、ArtifactI…

IS-IS原理与配置

IS-IS原理与配置 • IS-IS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;是ISO &#xff08;International Organization for Standardization&#xff0c;国际标准化组织&#xff09;为它的CLNP &#xff08;ConnectionL…

[ 8 种有效方法] 如何在没有备份的情况下恢复 Android 上永久删除的照片?

我们生命中最重要的时刻&#xff0c;但这样做有缺点&#xff0c;其中之一就是数据丢失的风险。您可能倾向于定期删除无意义的照片&#xff0c;同时保存可爱的照片&#xff0c;从而使您的 Android 设备井井有条。然而&#xff0c;有些人在删除自己珍视的图像时不小心犯了错误。您…

非递归方式遍历二叉树的原理

一、递归遍历代码 // 先序遍历 void PreOrder(BiTNode *T){if (T!NULL){visit(T); // 最简单的visit就是printf(T->data)PreOrder(T->lChild);PreOrder(T->rChild);} }// 中序遍历 void InOrder(BiTNode *T){if (T!NULL){InOrder(T->lchild);visit(T);InOrder(T-…

2312,生成编译命令

compile_commands.json包含各个目录的编译命令,它的生成: cmake: -DCMAKE_EXPORT_COMPILE_COMMANDSON;gn: gn gen . --export-compile-commandsninja ninja -t compdb cxx cc>compile_commands.json生成sphinx文档. 进入doc目录. 然后输入make html,然后等待即可!

Linux---文本搜索命令

1. grep命令的使用 命令说明grep文本搜索 grep命令效果图: 2. grep命令选项的使用 命令选项说明-i忽略大小写-n显示匹配行号-v显示不包含匹配文本的所有行 -i命令选项效果图: -n命令选项效果图: -v命令选项效果图: 3. grep命令结合正则表达式的使用 正则表达式说明^以指…

什么是PHP中的变量作用域?

PHP中的变量作用域&#xff08;variable scope&#xff09;指的是变量在代码中可访问的区域或范围。PHP支持多种变量作用域&#xff0c;包括以下几种主要类型&#xff1a; 全局作用域&#xff08;Global Scope&#xff09;&#xff1a; 在全局作用域中声明的变量可以在脚本的任…

单片机上位机(串口通讯C#)

一、简介 用C#编写了几个单片机上位机模板。可定制&#xff01;&#xff01;&#xff01; 二、效果图

SCI一区级 | Matlab实现GWO-CNN-GRU-selfAttention多变量多步时间序列预测

SCI一区级 | Matlab实现GWO-CNN-GRU-selfAttention多变量多步时间序列预测 目录 SCI一区级 | Matlab实现GWO-CNN-GRU-selfAttention多变量多步时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GWO-CNN-GRU-selfAttention灰狼算法优化卷积门控循环…

你如何看待“前端已死”

随着人工智能和低代码的崛起&#xff0c;“前端已死”的声音逐渐兴起。前端已死&#xff1f;尊嘟假嘟&#xff1f;快来发表你的看法吧&#xff01; 一、你如何看待“前端已死” 对于Java是否已经死亡以及前端是否已经凉凉&#xff0c;我认为这样的说法是不准确的。 首先&#…