【先验知识归纳】Flask快速入门
路由
Flask使用route修饰器来关联URL与程序函数:
@app.route('/')
def hello_world():
return 'Hello World!'
动态路由
在route的参数中增加<variable_name> ,可使函数获得URL中的参数信息,比如:
@app.route('/user/<username>')
def show_user_profile(username):
return 'User %s' % username
我们可以采用 <converter:variable_name>对参数进行格式转换(过滤),常用的转换器包括:
| int | 整数 |
| float | 浮点数 |
| path | 包含斜杠的字符串 |
构造URL
使用url_for(),它能带来3个好处
- 描述性更好,抽象程度更高(起到类似变量的作用)
- 它可以自动转义特殊字符和Unicode数据
HTTP方法
HTTP 方法告知服务器,客户端想对请求的页面做些什么。下面这些是比较常见的HTTP方法:
- GET:浏览器告知服务器:只获取页面上的信息并发给我。这是最常用的方法。
- POST:浏览器告诉服务器:想在 URL 上发布新信息。并且,服务器必须确保 数据已存储且仅存储一次。这是 HTML 表单通常发送数据到服务器的方法。
- PUT:类似 POST 但是服务器可能触发了存储过程多次,多次覆盖掉旧值。与POST的区别在于触发次数,POST信息只触发一次。
默认情况下,路由只回应 GET 请求,但是通过 route() 装饰器传递 methods 参数可以改变这个行为:
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
do_the_login()
else:
show_the_login_form()
静态文件
静态文件一般只供网页使用的CSS 或 JavaScript 资源。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。
例:静态文件的URL:url_for('static', filename='style.css'),该文件目录:static/style.css
模板渲染
Flask配备了Jinja2模板引擎。
模板引擎可以提高HTML文件的抽象程度,从而减少我们编写HTML文件的工作量。
Flask 会在 templates 文件夹里寻找模板。
访问请求数据
在 Flask 中由全局的 request 对象来获得客户浏览器提交给服务器的数据。
request是Flask中的一个非常重要的对象,它联结了客户浏览器与服务器的整个交互过程。
关于request的具体信息详见:API——request
消息闪现
使用flash()方法可以在用户的网页中闪现一条消息,进而提高用户体验。
【先验知识归纳】Flask快速入门的更多相关文章
- Flask快速入门
flask快速入门 1.1.三种框架比较 Django: 重武器,内部包含了非常多组件:ORM.Form.ModelForm.缓存.Session.中间件.信号等 Flask:短小精悍,内部没有太多组 ...
- 【转】Flask快速入门
迫不及待要开始了吗?本页提供了一个很好的 Flask 介绍,并假定你已经安装好了 Flask.如果没有,请跳转到 安装 章节. 一个最小的应用 一个最小的 Flask 应用看起来会是这样: from ...
- Flask快速入门,知识整理
一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是 ...
- Flask官方文档学习-flask快速入门
环境搭建 下载安装Python3:www.python.org 终端运行命令:python3 -m venv flask_dev,来创建虚拟环境 启用虚拟环境,终端使用命令 source /flask ...
- Flask 快速入门
最简单的flask程序 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return ...
- 二 Flask快速入门
1: 外部可访问的服务器: 如果你运行了这个服务器,你会发现它只能从你自己的计算机上访问,网络中其它任何的地方都不能访问.在调试模式下,用户可以在你的计算机上执行任意 Python 代码.因此,这个行 ...
- flask 快速入门链接
http://docs.jinkan.org/docs/flask/quickstart.html
- c语言快速入门3
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 c语言快速入门2 3.4.1 字符和字符串 字符:'' 单个 ...
- c语言快速入门2
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 c语言快速入门1 1.1.12 函数的概念 函数的定义:c语言的基本单位,c语言 ...
随机推荐
- 数据库的设计:深入理解 Realm 的多线程处理机制
你已经阅读过 Realm 关于线程的基础知识.你已经知道了在处理多线程的时候你不需要关心太多东西了,因为强大的 Realm 会帮你处理好这些,但是你还是很想知道更多细节…… 你想知道在 Realm 的 ...
- 山东省网络安全技能大赛 部分writeup
web1 提示:ip不在范围内 直接抓包加client-ip: 127.0.0.1 即可得到flag web2 <?php include 'here.php'; $key = 'kela ...
- AI 生成式对抗网络(GAN)
生成式对抗网络(Generative Adversarial Network,简称GAN),主要由两部分构成:生成模型G和判别模型D.训练GAN就是两种模型的对抗过程. 生成模型:利用任意噪音(ran ...
- 类别不平衡问题和Softmax回归
目录 类别不平衡(class-imbalance) Softmax回归模型 类别不平衡(class-imbalance) 当不同类别的训练样本数目差别很大,则会对学习过程造成困扰.如有998个反例,但 ...
- Django之 Form和ModelForm组件
01-Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用 ...
- docker 在centos6 和centos7上的区别
这些天研究了下docker,在centos6.6上装了个docker1.7.1,在centos7.6上装了个docker18.09.0 两者还是有区别的. 1.配置docker国内镜像加速 Dock ...
- iUAP云运维平台v3.0全面支持基于K8s的微服务架构
什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...
- apply和call与this
函数本身的apply方法,改变this指向哪个对象: function getAge() { var y = new Date().getFullYear(); return y - this.bir ...
- 【学习总结】GirlsInAI ML-diary day-9-dict字典
[学习总结]GirlsInAI ML-diary 总 原博github链接-day9 认识dict字典 新的数据类型dict. dict全称dictionary,在其他语言中也称为map,使用键-值( ...
- 数据交换格式与SpringIOC底层实现
1.数据交换格式 1.1 有哪些数据交换格式 客户端与服务器常用数据交换格式xml.json.html 1.2 数据交换格式应用场景 1.2.1 移动端(安卓.iOS)通讯方式采用http协议+JSO ...