通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit #导入timeit.timeit from timeit...repeat: 由于电脑永远都有其他程序也在占用着资源,你的程序不可能最高效的执行。...所以一般都会进行多次试验,取最少的执行时间为真正的执行时间。...from timeit import repeat def func(): s = 0 for i in range(1000): s += i #repeat和timeit...,返回值为一个时间的列表。
在 Web 的后端,处理数据和返回数据的是视图函数,接口需要通过路由来映射到指定的视图函数上。...使用装饰器的方式来实现路由非常方便,开发时可以集中精力来处理业务逻辑,加上装饰器就完成了接口和视图函数的映射关系。...在上面的视图函数中返回了模板文件 route_one.html ,在 FlaskProject 目录下提前创建好了一个叫 templates 的模板文件夹,在模板文件夹中编写 route_one.html...route_one.html 中增加一个显示数据的标签。...导入 werkzeug 中的转换器基类,自定义的转换器需要继承 Flask 的 werkzeug 工具集中的转换器基类。 2.
在flask中,经常会为了代码美观将过程封装成类,去引用这个文件, 用例子来看区别(注意看fetch_one方法的调用) @classmethod: class SQLHelper: @staticmethod...open(): conn = pymysql.connect(host='127.0.0.1',port=3306, user='root',passwd='123456',db='flask...open(): conn = pymysql.connect(host='127.0.0.1',port=3306, user='root',passwd='123456',db='flask...open(self): conn = pymysql.connect(host='127.0.0.1',port=3306, user='root',passwd='123456',db='flask...,self传递的是类的实例(即,对象),加了修饰以后,可以直接将类实例化
from flask import Flask app = Flask(__name__) 一.cookie from flask import Flask, make_response, request...session app.config['SESSION_COOKIE_NAME']="session_key" #这是配置网页中sessions显示的key @app.route('/') def hello...=session['username'] #获取指定session session.pop('username') #删除session原理和字典的删除方式一样 return 'ok...如, domain=".example.com"所构造的cookie对下面这些站点都是可读的:www.example.com 、 www2.example.com 和an.other.sub.domain.example.com...'SESSION_REFRESH_EACH_REQUEST': True, 详细可以参照:https://www.cnblogs.com/pythonywy/p/11594420.html
一.request from flask import request # 请求相关信息 # request.method 提交的方法 # request.args...get请求提及的数据 # request.form post请求提交的数据 # request.values post和get提交的数据总和 #...import render_template from flask import redirect from flask import make_response # 响应相关信息...# return "字符串" # return render_template('html模板路径',**{}) # return redirect('...('index.html')) # response是flask.wrappers.Response类型 # response.delete_cookie('key')
Flask中的CBV 第一种 class Index(views.MethodView): methods = ['GET', 'POST'] decorators = []...index'相当于设置endpoint Index.as_view内部也会根据请求方式进行反射执行对应函数即执行dispatch_request app.add_url_rule是进行装饰器路由映射内部执行的函数...,本质上也是由add_url_rule添加的映射关系,decorators是添加的装饰器列表 第二种 class Index(views.View): methods = ['GET',...app.add_url_rule('/index', view_func=Index.as_view(name='index')) 第二种继承的是views.View,这样就需要写dispatch_request
一.简单的使用 - 必须要设置秘钥因为flash是基于session -设置:flash('aaa') -取值:get_flashed_message() #从源码我们可以看出get_flashed_message...每次获取后都会进行pop删除所以在页面刷新或者跳转值都会消失 #如果页面没有发送跳转或者刷新,之后再调用get_flashed_message() 依然可以去到因为源码中以及对于查询对象进行了赋值 -...详细介绍 ''' 1 设置flash 1.1 flash("要传递的值",category="分类的名称"),如果不传默认是message 本质:session['_flash'] 2取..., 2.1.1如果不传递 category_filter,取出上面存储的所有分类传递的值 2.1.2如果不传with_categories就只取值,不取分类的名字,如果传值,就获取 分类名和分类值...3 这个flash只能一个视图函数中取,只要有一个视图函数取过了,那其他视图函数就不能获取 本质:session.pop("_flash") 3.1 但是在同一个视图函数里面可以无限的取值
meth:`add_url_rule`, which has more details about the implementation. .. code-block:: python...self:就是 Flask 类的实例 rule:其实就是路由规则 end_point:函数名 methods:如果没有传,那么会先通过 view_func 获取 methods 属性,如果还是没有,那默认就是...": "这是post请求"} 返回的是一个 python 字典,那么最后请求得到响应会是啥呢?...踩坑之一:哎呀,假设我用 GET 方法发起请求,那么就会直接报 405,说你的请求方法是不允许的!记住了哦! ?...put 和 delete 都成功啦 总结
直接跳到末尾 获取完整源码 JavaScript 倒数计时器 用于各种电子商务和建设中的网站,以使用户保持最新状态。...我们可以在不同类型的电子商务网站上看到,在一些产品或优惠到达之前的某个时间开始倒计时。 在本文中,我使用了简单的 JavaScript 代码创建了一个倒数计时器和大家分享。...❤️使用 HTML、CSS 和 JS 的简单倒数计时器 ❤️ 在线演示 第 1 步:倒数计时器的基本结构 第 2 步:使用 CSS 代码完善整体样式 第 3 步:调节各部分元素的布局 第...希望通过本文,您已经学会了如何使用 HTML、CSS 和 JS 的简单倒数计时器。我之前使用 HTML、CSS 和 JavaScript 制作了更多类型的小工具,如果您愿意,可以查看这些设计。...使用 HTML、CSS 和 JavaScript 制作的随机密码生成器 使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序 你真的熟练运用 HTML5 了吗,这10 个酷炫的
#用正则简单过滤html的标签 import re str = "srcdhello" str = re.sub(r'</?
JavaScript 倒数计时器 用于各种电子商务和建设中的网站,以使用户保持最新状态。我们可以在不同类型的电子商务网站上看到,在一些产品或优惠到达之前的某个时间开始倒计时。...在本文中,我使用了简单的 JavaScript 代码创建了一个倒数计时器和大家分享。...❤️使用 HTML、CSS 和 JS 的简单倒数计时器 ❤️ 在线演示 第 1 步:倒数计时器的基本结构 第 2 步:使用 CSS 代码完善整体样式 第 3 步:调节各部分元素的布局 第 4...希望通过本文,您已经学会了如何使用 HTML、CSS 和 JS 的简单倒数计时器。我之前使用 HTML、CSS 和 JavaScript 制作了更多类型的小工具,如果您愿意,可以查看这些设计。...使用 HTML、CSS 和 JavaScript 制作的随机密码生成器 使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序 你真的熟练运用 HTML5 了吗,这10 个酷炫的
前言 闲着没事写写单页,免得忘了老底,结果写着写着,发现我把HTML里的href和src又搞混了,想了想干脆写篇博客记下来,毕竟好记性不如烂笔头嘛。...href href出自Hypertext Reference的缩写,翻译过来是超文本引用,是用于建立当前文档和引用资源之间的链接,一般出现于link、a标签属性,例如: <link rel="stylesheet...这也是建议使用link而不采用@import加载css<em>的</em>原因。 src src源于source<em>的</em>缩写,翻译过来是源,其作用是引入。...,会暂停浏览器<em>的</em>渲染,直到该资源加载完毕,这也是将js脚本放在底部而不是头部<em>的</em>原因。...总结 src是引入,将当前元素进行替换,而href则是引用,用于当前文档<em>和</em>引用资源之间<em>的</em>关系建立。
DOCTYPE html> HTML5网页中的文本和图像 网页中的文本分为两大类:一是普通文本;二是特殊文本字符; 半角大的空白 全角大的空白 不断行的空白格 <br /...或者直接shift+空格 ; 尽量不要使用 来表示多个空格,因为多少浏览器对空格的距离实现是不一样的。... 我是倾斜文本,HTML中重要文本和倾斜文本都已经过时,需要CSS实现,CSS实现页面样式更加精细 我是上标上标 <p...但是随着互联网的发展,网速已经不是制约因素,但是另一好处 就是方便搜索引擎的检索" />
,在html代码中不用区分大小写. html代码是由开始的,并且由结束的,包含头部分和体部分两部分组成....在html代码中,多数标签都是有开始标签和结束标签的,其中有个别标签因为只有单一功能,所以没有开始标签和结束标签这样....格式: // 超文本标记 数据内容 在html中,代码都是由标签所组成的,代码逻辑相当低. // 头和体 ...get和post get提交的数据会显示在地址栏中,而post不会,使用get会对敏感信息不安全. get的提交数据体积有限,而post可以提交大体积的数据. get将提交数据封装到了http消息头的第一行
在编写python文件时,一般会在入口文件中加入if __name__ == "__main__", 这样当这个脚本文件执行时就会执行这个语句下面的内容,而如果这个脚本文件被当作模块引入(import...xxx)到其他文件中时这个下面的语句就不会执行。...在flask中还有另一个作用 一般在入口文件中,放在if __name__ == "__main__"语句下面的是app.run(...), 当运行app.run(...)时会执行flask自带的服务器
Flask中的渲染变量 一.渲染变量 二.变量的循环 {% endif %} 比django中多可以加括号,执行函数,传参数 from flask import Flask...,render_template,Markup,jsonify,make_response app = Flask(__name__) def func1(arg): return Markup...> {{ff('六五')}} {{ff('六五')|safe}} 注意: 1.Markup等价django的mark_safe , 2.extends,include
通常,会根据不同的功能模块,将视图函数写在不同的 py 文件中,这就需要使用到 Flask 中的蓝图 Blueprint 。...但代码肯定是要分开的,只是不能简单地将代码分到不同文件,需要使用 Flask 中特有的方式进行模块化处理,Flask 内置了一个模块化处理类 Blueprint 。...将蓝图对象注册到 Flask 主应用中 回到 Flask 主应用 app.py 中,将刚才在 views.py 中注册的蓝图对象导入,并将蓝图对象注册到主应用 app 中。...中创建一个 blue_one.html 模板文件。...() 方法,然后在新增的视图函数中返回刚才创建的模板文件 blue_one.html 。
在看到python源码的时候,有一句关于or的用法,当时很疑惑,以前一直认为其用法类似与java中的"&&" 和 "||" ,返回的是boolean类型,结果当前是错误的,下面给大家分享一下python...中的and和or关键字的用法。 ...print(() or [1, 2]) # 输出:None,(), {},[] ,"", "yes", (1,2),{"test" : "success"},[1,2] 3、总结 “or”和“...有点类似一java中的"&&"和"||"的理念。...简单概述就是如果使用or和and时,从左到右执行表达式,如果在执行某个表达式之后,就已经可以判断整体表达式是否为空,是否非空,那么之后的表达式就不会再执行。
继承 模板继承是为了重用模板中的公共内容。一般Web开发中,继承主要使用在网站的顶部菜单、底部。这些内容可以定义在父模板中,子模板直接继承,而不需要重复书写。...子模板使用extends指令声明这个模板继承自哪个模板 父模板中定义的块在子模板中被重新定义,在子模板中调用父模板的内容可以使用super() 父模板 base.html {% block top %}...包含 Jinja2模板中,包含(Include)的功能是将另一个模板整个加载到当前模板中,并直接渲染。...include的使用 {% include 'hello.html' %} 包含在使用时,如果包含的模板文件不存在时,程序会抛出TemplateNotFound异常,可以加上 ignore missing...include的使用加上关键字ignore missing {% include 'hello.html' ignore missing %} 模板代码复用方式小结 继承(Block)、包含(include
某些情况下,需要读取flask网站要目录下的txt文件。但是直接在flask网站的目录下创建一个文件是无法访问的。...从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于简单的文件读取以及读取量比较小的时候。...延伸知识点: 因为在之前的代码中做过一个简单的url实例,url的定义和本文的定义一样,只是参数名不一样,如下: ?...这时候就遇到一个问题,当我把今天的url定义放到最后面的时候,其实访问的是/这个url,会一直返回hello xxx, 然后把本文例子的代码放到/这个接口的上面,再次运行,得到正确的结果
领取专属 10元无门槛券
手把手带您无忧上云