函数的定义 函数的定义:分配任务 def 函数名(形参列表): 函数体 return 返回值 def:define,定义 形参列表中,可以有多个形参,它们之间使用逗号分隔 函数体要带一级缩进,带有缩进的代码...('hello') print('hello') print('hello') # 调用函数 test() """ 运行结果 hello hello hello """ 函数调用才会真正执行函数体里面的代码...函数经过一次定义之后,可以被调用多次 Python 中要求,函数定义写在前面,调用在后面,“先定义,再使用” 形参和实参 举一个例子: 我有一个朋友高中的时候,是一个学霸 通过是一个非常漂亮的女生 他们的关系非常好...- 不是,返回假 def Odd(num): if num % 2 == 0: return False return True 这个代码逻辑和上面的逻辑是等价的 当函数执行到 return...,C++/Java 都馋哭了 C++/Java 中调用一个函数一次只能返回一个值 C++要想返回多个值,可以通过输出型参数(指针/引用) Java 要想返回多个值,需要把多个值给包装成一个对象,然后再返回这个对象
函数的定义 函数的定义:分配任务 def 函数名(形参列表): 函数体 return 返回值 def:define,定义 形参列表中,可以有多个形参,它们之间使用逗号分隔 函数体要带一级缩进,带有缩进的代码...('hello') print('hello') print('hello') # 调用函数 test() """ 运行结果 hello hello hello """ 函数调用才会真正执行函数体里面的代码...函数经过一次定义之后,可以被调用多次 Python 中要求,函数定义写在前面,调用在后面,“先定义,再使用” 形参和实参 举一个例子: 我有一个朋友 高中的时候,是一个学霸 通过是一个非常漂亮的女生...不是,返回假 def Odd(num): if num % 2 == 0: return False return True 这个代码逻辑和上面的逻辑是等价的 当函数执行到 return 的时候就不再继续向下执行了...C++/Java 中调用一个函数一次只能返回一个值 C++要想返回多个值,可以通过输出型参数(指针/引用) Java 要想返回多个值,需要把多个值给包装成一个对象,然后再返回这个对象 多元赋值 def
在urllib.parse模块中有一个urlencode函数,可以将一个字典形式的请求值对作为参数传入urlencode函数,该函数返回编码结果。...# 使用urlencode函数将“极客起源“转换为URL编码形式print(urlencode({'wd':'极客起源'})) 执行上面的代码,会输出如下的内容。...函数可以阻止显示警告消息disable_warnings()# 创建PoolManager类的实例http = PoolManager()'''# 下面的代码通过组合URL的方式向百度发送请求url =...接收到这个请求,就会自动调用该路由对应的函数。...)不过如此,是我想多了 这样合并Python字典,可以让程序的运行效率提高4倍 Python代码可以加密吗?
该函数被赋予一个名称,该名称也用于为该特定函数生成URL,并返回我们想要在用户的浏览器中显示的消息。 必须在项目中导入Flask模块。Flask类的一个对象是我们的WSGI应用程序。...将显示“Hello World”消息。 调试模式 通过调用run()方法启动Flask应用程序。但是,当应用程序正在开发中时,应该为代码中的每个更改手动重新启动它。为避免这种不便,请启用调试支持。...能够用abort()函数提前中断一个请求并带有一个错误代码。 重定向 Flask类有一个redirect()函数。调用时,它返回一个响应对象,并将用户重定向到具有指定状态代码的另一个目标位置。...Flask 响应 一个视图函数的返回值会被自动转换为一个响应对象。如果返回值是一个字符串,它被转换成一个响应主体是该字符串,错误代码为 200 OK ,媒体类型为text/html的响应对象。...status值将会覆盖状态代码,headers可以是一个列表或额外的消息头值字典。 如果上述条件均不满足,Flask 会假设返回值是一个合法的 WSGI 应用程序,并转换为一个请求对象。
接着是函数主体,可以写方法也可以调用其他方法的返回值,最后返回到浏览器上显示的信息 最后我们用 run() 函数来让应用运行在本地服务器上。...”hello()”函数并不是直接返回字符串,而是调用了”render_template()”方法来渲染模板。...重定向和错误 你可以用 redirect() 函数把用户重定向到其它地方。放弃请求并返回错误代码,用 abort() 函数。...status 值会覆盖状态代码, headers可以是一个列表或字典,作为额外的消息标头值。 > 5....例如因为用户篡改了数据或客户端代码出错 而导致一个客户端代码向服务器发送了明显错误的 HTTP 请求。
get_id(): 返回用户的唯一id的方法,返回值类型是字符串(Python 2下返回unicode字符串)....用户登入 让我们回顾一下登录视图函数,它实现了一个模拟登录,只发出一个flash()消息。现在,应用可以访问用户数据,并知道如何生成和验证密码哈希值,该视图函数就可以完工了。...因为我知道查询用户的结果只可能是有或者没有,所以我通过调用first()来完成查询,如果存在则返回用户对象;如果不存在则返回None。...在这两种情况下,我都会闪现一条消息,然后重定向到登录页面,以便用户可以再次尝试。 如果用户名和密码都是正确的,那么我调用来自Flask-Login的login_user()函数。...其视图函数代码如下: # ...from flask_login import logout_user # ...
为此,我们向登陆和登出页面发送一些请求,这些请求都携带了表单数据(用户名和密码),因为登陆和登出页面都会重定向,我们将客户端设置为 follow_redirects 。...-------------------- Ran 3 tests in 0.332s OK 关于请求的头信息和状态值等更复杂的测试,请参考 MiniTwit Example ,在这个例子的源代码里包含一套更长的测试...您需要手动调用 preprocess_request() 方法: app = flask.Flask(__name__) with app.test_request_context('/?...如果您希望调用 after_request() 函数, 您需要使用 process_response() 方法。...在 Flask 0.4 中,通过 test_client() 函数和 with 块的使用可以实现: app = flask.Flask(__name__) with app.test_client()
视图 Flask框架的基本认识 flask 是由python语言实现的 特点:轻量,简洁,扩展性强 核心:werkzeug 和 Jinja2 环境的配置和安装 为什么要配置虚拟环境?...存储url映射的视图函数名,存储的路由映射(存储url路径和视图函数的映射关系) Map 存储所有rule对象,一个独立的flask项目只有一个map对象 MapAdapter 匹配url和视图函数...(配置文件) 加载环境变量 app.config.from_envvar(环境变量) 重定向(redirect) 本质: 把当前请求返回的响应,向其他url再次发送请求,跳转页面....return 后面可以自定义不符合http协议的状态码,实现前后端数据交互,也可以返回符合http协议的状态码,相当于修改了框架封装好的默认响应报文中的状态码 异常处理(abort) abort 函数接收的参数为符合...if __name__ == '__main__': # 代替app.run() # 在终端使用命令动态指定host和port,在生产环境下不用手动修改代码的host和port
本文将介绍如何使用Python编写后端接口,以及Python作为后端接口语言的优点和缺点。 用法 在Python中,最常用的后端接口框架是Flask和Django。...创建了一个名为/hello的路由,当该路由被调用时,它将返回一个包含查询字符串参数name的欢迎消息。...当该路由被调用时,它将从请求的JSON数据中提取用户数据,将其保存到数据库中并返回一个成功状态码。...要测试此应用程序,可以使用Postman或类似工具向http://localhost:5000/create_user发送包含用户数据的Post请求。...代码易于维护:Python的代码风格清晰明了,易于阅读和维护。 生态系统丰富:Python拥有广泛的第三方库和框架,能够提供各种功能支持。
# return 'Tom'.encode('utf-8') # 返回字节形式 下面是修改 状态码 和 headers...状态码 和 headers 的方式: 1....同时还对比讲述了 如何 修改 响应头 和 状态码 个人看法: Flask: 1. response各种变形返回方式 都封装了 flask这个模块之中 2...模板宏(macro): 主要目的是为了前端代码的复用 定义 模板宏 就和 定义 python的函数类似, 或者你可以把 macro 看作 python的 def eg:...="{{ value }}"> {% endmacro %} 调用部分:可理解为函数调用 {{ user('text', '用户名'
显示当前所有的路由,和每条路由的访问方式。 1.2通过method限定访问方式 给index函数添加method ? ?...= 123: # 使用abort函数可以立即终止视图函数的执行, 并可以返回了浏览器特定的信息 # 1.传递状态码信息, 必须是标准的http状态码 abort...status 值会覆盖状态代码, headers 可以是一个列表或字典,作为额外的消息标头值。 ? ?...当调用app = Flask(_name_)的时候,创建了程序应用对象app; request 在每次http请求发生时,WSGI server调用Flask.call();然后在Flask内部创建的...为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。
创建烧瓶 API 为了在ReactJS和Flask API之间建立连接,第一步是创建一个Flask API。这可以通过创建一个概述所需 API 路由和方法的 Python 脚本来完成。...return jsonify(response) 在此示例中,我们创建了一个 Flask API,其中包含一个名为 /api 的单个路由,该路由返回一个 JSON 响应,其中包含消息“Hello, World...当您从一个域上托管的 ReactJS 应用程序向托管在另一个域上的 Flask API 发出请求时,Web 浏览器将默认阻止该请求,这意味着您将无法访问 Flask API 返回的数据。...JavaScript 的内置获取函数可用于向 API 发送 HTTP 请求。... => console.log(data)) 在下图中,我们利用 fetch 函数向 Flask API 的 /api 路由发起 GET 请求。
Flask中,视图函数的返回值会直接生成响应对象。...若返回字符串,Flask将其转换为响应体,附带200 OK状态码和text/html内容类型。若返回字典或列表,Flask自动调用jsonify(),生成JSON格式的响应。...这是Flask处理响应的基本规则。直接响应:若视图函数返回的是一个Response对象,Flask将直接使用该对象作为HTTP响应返回给客户端。...开发者可以通过注册错误处理器来自定义错误页面,这些处理器函数在特定错误发生时被调用,并返回个性化的响应。错误处理器接收一个HTTPException实例,但返回的响应状态码需手动设置。...其轻量级的特性和对开发者友好的设计,使得Flask成为Python Web开发中的一个受欢迎的选择。
客户端向服务器发起请求 服务器把请求交给Flask实例 Flask实例通过Werkzeug根据URL请求与视图函数之间的对应关系来进行路由分发 根据每个URL请求,找到具体的视图函数并进行调用 Flask...程序中路由一般是通过程序实例的装饰器实现 Flask调用视图函数后,可以返回2种内容: 字符串:将视图函数的返回值作为响应内容,返回给客户端 HTML模板内容:获得数据后,将数据传入HTML模板中,模板引擎...完整代码 # -*- coding:utf-8 -*- # 导入Flask from flask import Flask # 创建实例 app = Flask(__name__) # 路由与视图函数对应关系...简单示例 视图函数 路由需要有GET和POST请求,需要判断请求方式 路由中添加参数methods,以列表的方式传入请求方式GET和POST 引入request对象,获取请求方式及参数 @app.route...SQLAchemy实际上是对数据库的抽象,让开发者不用直接和SQL语句打交道,而是通过Python对象来操作数据库。
部分 消息管理...(包括 HTML 标记) } })} function LoadFunction() {//上面调用的实现函数 $("#alldatas"...;//设置或返回所选元素的内容(包括 HTML 标记) } function ErrFunction() {//上面调用的实现函数 alert("数据加载失败...;//设置或返回所选元素的内容(包括 HTML 标记) } callback(1) //页面加载完成后自执行 }); Step3:Python+Flask...and flask+db组成,主要是说明了页面首页数据如何加载,内容清晰明了,每行代码需要仔细阅读,尤其javascript代码部分,注释写得尤其的详细,大家可以对照以上各部分代码多动手实践。
如果flask开启了debug模式,name以后再python中修改任何代码,只要在pycharm中使用ctrl+s即可保存重载,不需要手动去重载程序 如何配置debug模式: app.run() app.run...实现用户访问/posts/a+b to_python的作用 这个方法的返回值会传到view函数中作为参数 to_url的作用 这个方法的返回值会调用url_for来生成符合要求的url形式 from flask...POST:就是向服务器提交文件或者数据,一般POST会对服务器的状态产生影响。 关于参数传递: GET:把参数放到URL中,通过?...name=sss 关于响应 视图函数的返回值会被自动转换成一个响应对象,flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 如果返回的是一个字符串,那么flask会重新创建一个werkzeug.wrappers.Response...作为额外的消息头 如果以上的条件都不满足,flask会假设返回值是一个合法的WSGI应用程序,并通过Response.force_type(rv,request.environ)转换成一个请求对象。
不过,一旦有任意一个字段未通过验证,这个实例方法就会返回False,引发类似GET请求那样的表单的渲染并返回给用户。稍后我会在添加代码以实现在验证失败的时候显示一条错误消息。...当form.validate_on_submit()返回True时,登录视图函数调用从Flask导入的两个新函数。 flash()函数是向用户显示消息的有效途径。...当前视图函数使用它将用户重定向到应用的主页。 当你调用flash()函数后,Flask会存储这个消息,但是却不会奇迹般地直接出现在页面上。...get_flashed_messages()是Flask中的一个函数,它返回用flash()注册过的消息列表。...闪现消息的一个有趣的属性是,一旦通过get_flashed_messages函数请求了一次,它们就会从消息列表中移除,所以在调用flash()函数后它们只会出现一次。
requests.get()方法返回一个响应对象,它包含了服务提供的所有细节。我首先需要检查和确认状态码是200,这是成功请求的代码。...如果状态码是200,那么响应的主体就有一个带有翻译的JSON编码字符串,所以我需要做的就是使用Python标准库中的json.loads()函数将JSON解码为我可以使用的Python字符串。...异步(Ajax)请求类似于我在应用中创建的路由和视图函数,唯一的区别是它不返回HTML或重定向,而是返回数据,格式为XML或更常见的JSON。...你可以在下面看到翻译视图函数,该函数调用Microsoft Translator API,然后返回JSON格式的翻译文本: app/routes.py:文本翻译视图函数 from flask import...该函数将利用输入和输出DOM节点以及源语言和目标语言,向服务器发出携带必须的三个参数的异步请求,并在服务器响应后用翻译后的文本替换翻译链接。
,以{}作为变量包裹的标识符同时,这个符号包裹内还可以执行一些简单的表达式, 模板引擎会对输入变量进行编码转义 识别不同模板 测试代码 import flask app = flask.Flask...(debug=True) Python对象的魔术方法: __class__ 返回类型所属的对象 // __base__和__mro__都是用来寻找基类的 __mro__ 返回一个包含对象所继承的基类元组和方法在解析时按照元组的顺序解析...(继承链) __base__ 返回该对象所继承的基类 __subclasses__ 每个新类都保留了子类的引用,这个方法返回一个类中仍然可用的的引用的列表 //通过以上几个魔法函数找到可利用的模块和...之所以可以这样,是因为 Python 有个叫内建模块(或者叫内建命名空间)的东西,它有一些常用函数,变量和类。...把字符串对象表示的消息加入到一个消息队列中,然后通过调用get_flashed_messages() 方法取出(闪现信息只能取出一次,取出后闪现信息会被清空)。
flask框架(二) 1.cookie(掌握) 掌握的内容需要会敲。 解释:用来保持服务器和浏览器交互的状态。有服务器设置,存储在浏览器里面。 作用:用来做广告的推送。...那么默认的有效期就是当前浏览器关闭的时候 获取cookie:request.cookies.get("key") 2.session(理解) 解释:服务器和用户来做状态保持的,里面存储的是敏感信息(比如身份证...(函数名,‘过滤器名字’) 2、定义函数的时候,直接使用系统过滤器进行装饰 @app.template_filter('过滤器名字') def 函数名(): pass 案例: 1、获取列表偶数和...2、反转字符串 11.代码复用之宏(了解) 解释:相当于python中的函数,定义好一段功能,在需要的时候进行调用即可 定义格式: {% macro 宏名(参数)%} {% endmacro %} 使用格式...)存了几条视图函数里消息,再调用get_flashed_message()消耗flash里面的消息,一旦消耗,就一次消耗光,不用,就不消耗. 16.csrf攻击流程(了解) 解释:跨站点请求伪造 掌握:
领取专属 10元无门槛券
手把手带您无忧上云