打开Terminal,使用python3 app.py命令来运行一下该应用程序,如下图: 从运行的日志来看,这样就启动了一个非常简单的一个内建服务器,现在就可以打开浏览器访问http://127.0.0.1...如果你打开 调试模式,那么服务器会在修改应用代码之后自动重启,并且当应用出错时还会提供一个 有用的调试器。...get_uid(uid):# 参数是必须传递的 return "获取唯一的标识码:"+ str(uid) 唯一的 URL / 重定向行为 重定向行为 / 唯一的 URL的不同之处在于是否使用尾部的斜杠...,如下面两个视图函数: @app.route('/projects/')# 重定向,路由中定义了/,无论请求的URL中是否带/,都可以执行视图函数,如果请求URL中没有带/,浏览器中就做了一次重定向 def...访问一个没有斜杠结尾的 URL 时 Flask 会自动进行重定向,帮你在尾部加上一个斜杠。 about 的 URL 没有尾部斜杠,因此其行为表现与一个文件类似。
在第一节中,启动Flask的程序后,在浏览器中访问http:localhost//5000/就会显示Hello World,也就是说,在WEB的应用程序里,客户端和服务器上的Flask程序交互简单的来说可以总结为...: 1、用户在浏览器输入请求地址 2、Flask程序接收用户请求的地址并且对请求的地址进行解析 3、依据请求的地址URL找到对应的视图函数,视图函数进行处理 4、视图函数接收到处理请求后,生成响应,返回给客户端...,也就是浏览器 5、浏览器接收到响应后对信息进行解析,将信息展示显示在页面中 在Flask的应用程序中,是需要在视图函数前加app.route()装饰器,并传入URL规则作为参数,这样URL就与视图函数之间建立起了关联...return '文章ID: {0}'.format(articleID) 在GET的请求中,经常基于业务的需要,需要通过参数来当传递请求参数的过程,如写一个搜索的 案例代码,它的视图函数源码为:...还有另外一种场景是返回多个URL的地址,依据不同的URL显示不同的信息,如输入博客的地址返回博客的信息,依据用户的信息返回用户的信息。
在上面的示例中,’/ ‘ URL与hello_world()函数绑定。因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。...当访问http://127.0.0.1:5000/post/3时,页面显示为帖子3.用户在浏览器地址栏上输入的都是字符串,但是在传递给show_post函数处理时已经被转换为了整型。...浏览器在窗口中显示welcome消息。 在login.html中将方法参数更改为’GET’,然后在浏览器中再次打开它。服务器上接收的数据是通过GET方法获得的。...自动转义默认是开启的,因此如name包含 HTML,它将会自动转义。...在以下Flask应用程序中,当您访问’/’ URL时,会打开一个简单的表单。
路由分为静态和动态两种,静态路由就是在上一节使用的路由,直接使用@app.route定义,route的参数值就是路由,也就是在浏览器地址栏中输入Url的路径。...尽管静态路由可以解决大多数问题,但如果有多个类似的路由要使用同一个路由函数处理,或想通过Url的路径传递一些参数,就要用到动态路由。先看下面几个Url。...动态路由的解决方案是将Url中不同的部分作为变量处理,也就是说,需要将xyz、abc、what、test、geekori这5个值映射到服务端的一个变量中。这个变量也需要定义在路由中定义。...当访问上面的5个Url或其他类似Url时,就都会映射到上面的fun函数进行处理,这就是动态路由的定义和使用方式。...,在浏览器中输入下面的Url。
flask_study 安装: windows环境下: 使用pycharm创建一个新的虚拟环境,在env环境下使用pip install flask安装即可 Linux环境下: 见python爬虫笔记...,无论请求的url是否带有斜杠都可以执行视图函数,如果请求的是有斜杠的,则浏览器执行了一次重定向。...当定义的路由以斜杠结尾,但请求的路由有没有斜杠结尾都可以实现请求。 在路由中定义斜杠,无论请求的url是否带有斜杠都可以执行视图函数,如果请求的是有斜杠的,则浏览器执行了一次重定向。...@app.route('/join') def join(): r = render_template("test.html") return r # html文件中,提交时自动跳转到...界面中可以动态的获取后台传入的参数 <!
打开pyCharm新建一个Flask的项目之后,会初始化一个Flask的程序目录(假设创建一个名为flaskblog的项目)。...(__name__) #flask用name这个参数决定程序的根目录,以便稍后能够找到相对于程序根目录的资源文件位置。...# flask支持在路由中使用int(如:@app.route('/user/'))\float\path类型.path类型也是字符串,但不把斜线视作分隔符,而将其当做动态片段的一部分。...请详细阅读注释,然后在pyCharm中选中flaskblog.py运行(Run),在浏览器中测试。...在多线程服务器中,多个线程同时处理不同客户端发送的不同请求时,每个线程看到的request对象必然不同。Falsk使用上下文让特定的变量在一个线程中全局可访问,与此同时却不会干扰其他线程。
顾名思意,路由就是在迷茫中找出一条路的意思。在Flask框架中,路由就表示为用户请求的URL找出其对应的处理函数之意。 ?...为路由指定HTTP方法 默认情况下,Flask路由仅支持HTTP的GET请求。可以使用methods关键字参数,在注册 路由时显式地声明视图方法支持的HTTP方法。...静态目录路由 当创建应用实例时,Flask将自动添加一条静态目录路由,其访问点 始终被设置为static,URL规则默认被设置为/static,本地路径默认被 设置为应用文件夹下的static子文件夹:...除了访问点被固定为static,静态目录的URL规则和本地目录都是可以根据应用情况进行调整。 改变默认的本地路径 :可以在创建应用对象时使用关键字参数static_folder改变 默认的静态文件夹。...改变默认的URL规则 : 如果不喜欢静态目录URL/static,也可以在创建应用 对象时使用关键字参数static_url_path换一个别的名字。
而传递给 run 方法的 debug 参数,则决定了是否启用 debug 模式,在开发阶段,打开 debug 模式可以方便我们定位分析问题。...视图函数可以接收 URL 传递过来的参数,并生成对应于不同人的欢迎语!...调用 url_for 时,第一个参数为端点(endpoint)值。在 Flask 中,端点用来标记一个视图函数以及对应的 URL 规则,其默认值为视图函数的名称。...url_for 函数 现在我们回到 url_for 函数,我们知道调用 url_for 函数时,第一个参数就是端点,而它返回的就是端点所对应的路由地址,我们修改代码,来实验下 from flask import...' % name 这里注意我们需要先导入 url_for 函数 当我们在浏览器访问 /user 这个 URL 地址时,就会触发 welcome 函数,就会在控制台打印一行信息,即为 url_for
代理自动配置文件(Proxy Auto-Config,PAC),定义了浏览器和其他用户代理如何自动选择适当的代理服务器来访问一个URL。...在浏览器设置为 “自动检测代理设置” 的情况下,用户在访问网页时,首先会查询 PAC 文件的位置,然后获取 PAC 文件,将 PAC 文件作为代理配置文件。...更改了 PAC 文件下载的默认行为,以便当 WinHTTP 请求 PAC 文件时,不会自动发送客户端的域凭据来响应 NTLM 或协商身份验证质询。...我们只需要将pdf上传到目标机器,然后让用户打开此文件即可 经测试,使用edge、火狐浏览器打开pdf文件无法获取到哈希,使用adobe reader打开的pdf可以正常获取到哈希 利用Office 首先先新建一个..., 1); // 设置 URL 和相应的选项 $result=curl_exec($curlobj); // 抓取 URL 并把它传递给浏览器 curl_close($curlobj); // 关闭 cURL
在一个不使用路由的 ASP.NET 应用程序中,对 URL 的传入请求通常映射到磁盘上的物理文件,如 .aspx 文件。...在 ASP.NET 路由中,您可以定义 URL 模式,该模式包含在处理 URL 请求时使用的值的占位符。在运行时,应用程序名称后面的 URL 部分根据您所定义的 URL 模式分析为离散值。...如果必须创建一个 URL,则将参数值传递到为您生成 URL 的方法中。若要更改 URL 模式,请在某位置更改该模式,您在应用程序中创建的基于该模式的所有链接将自动使用新模式。...定义的 URL 模式称作“路由”。在路由中,您可以指定占位符,用于映射到从 URL 请求中分析的值。您还可以指定用于匹配 URL 请求的常量值。...在路由中,您可以通过用大括号( { 和 })括住占位符来定义占位符(称为“URL 参数”)。分析 URL 时将/ 字符解释为分隔符。将路由定义中不是分隔符和不在大括号中的信息视为一个常量值。
场景 在页面显示的时候是分页现实的,当前页面只有10条数据,但是打印需要打印完整的100条数据。 并且在当前页面包含了表格之外的标题,菜单等其他元素。...测试一页A4纸适合页面840px-1225px 打印文件里会自动添加页面标题和日期,下方会自动添加页面地址,不知道如何去掉 在后台生成pdf页面显示自带打印下载功能 1、后台生成PDF文件,返回二进制流...2、在不需要token信息的情况下,并且支持get请求的,可以在浏览器中直接打开该地址。或者通过a标签来实现下载和页面显示。并实现打印功能。...3、需要token验证的情况下,使用blob类型来接收数据,并创建一个本地地址供浏览器访问,后面操作如第二步。 private down(url: string, body?...(objectUrl); return true; }); } /** * 下载pdf, 如果不传入文件名会再浏览器中打开 实现打印功能 * 传入文件名会直接下载
在 route() 函数中,传入了参数 ‘/index’ ,说明当访问 /index 接口时,对应的后端视图函数是 index() 函数。...二、在路由中传参 在上面的例子中, route() 中传入的 API 是硬编码“写死”的。...在很多场景下,需要用一个视图函数来动态返回数据,路由将 API 中的动态部分传递给视图函数,视图函数再根据参数动态地返回数据。...如访问 http://127.0.0.1:5000/phone/777 ,页面效果如下: ? 上面使用路由传递的参数是整数,但 route() 会默认当做 string 处理,默认会转换成字符串。...三、正则匹配路由 在通过路由传递参数时,可以指定参数的数据类型,在 Flask 中,这种功能是通过转换器来实现的,转换器会按照定义的规则来转换或匹配参数。
IP地址 当不设该置参数时 浏览器需要访问 127.0.0.1:5011即可 即可启动程序。...当设该置参数为 0.0.0.0 时 在浏览器中访问本机IP地址加端口号即可,服务器 和开发设备同理 port 为端口号 当不设该置参数时 端口默认为 5000 ,如果使用阿里云服务器,别忘了放行端口 debug...是否开启debug模式 为什么罱要开启DEBUG模式: 如果开启了 DEBUG 模式, 那么在代码中如果抛出了异常,在浏览器的页面中可以看到具体的错误信息,以及具体的错误代码位置。...如果开启了 DEBUG 模式,那么以后在 Python 代码中修改了任何代码,只要按command + s , flask 就会自动的重新记载整个网站。不需要手动点击重新运行。...#3.在应用对象上注册这个蓝图对象 from user import * app.register_blueprint(user_blue) 其中注册路由中,有几个常用参数如下 static_folde
与浏览器兼容的头 当勾选 multipart/form-data 时,勾选此项 http请求头中的 Content-Type 和Content-Transfer-Encoding 被忽略 而只发送 Content-Disposition...方式进行 HTTP 通信 真正做性能测试强烈建议不勾选 对POST使用multipart/form-data post 请求需要上传文件时勾选 与浏览器兼容的头 当勾选 multipart...%,如空格字符,ascii码是32,对应16进制是20,那么 urlencode 编码结果是 %20 URL 编码的栗子 直接在网上搜在线 URL 编解码 ?...哦 这里不可以通过 Body Data 传递参数哦,会无法识别到参数,已实践过(即使加了 HTTP请求头也不行),乖乖用 Parameters 的方式传参 content-type:application...启用后可以设置资源池大小,默认为6 URLs must match URL 匹配过滤,填写此项则只会下载与此内容项匹配的 url 的资源 Source address 只用于 HTTP协议且 implemention
app = Flask(__name__) #将'/'和函数index的对应关系加到路由中 @app.route('/') def index(): return 'Hello World!...匹配成功后传递给视图函数中参数的值 :param value: :return:...""" 使用url_for反向生成URL时,传递的参数经过该方法处理,返回的值用于生成URL中的参数 :param value...defaults 默认值,当URL中无参数,函数需要参数时,使用defaults={'k':'v'}为函数提供参数 ? ...(3)参数strict_slashes=None #对URL最后的 / 符号是否严格要求,默认为False,如: @app.route('/index', strict_slashes=False)
的配置文件 3.4路由的本质以及add_urll_rule参数 3.5路由正则 3.6flask的cbv写法 3.7模板渲染 3.8flask的请求与响应 3.9flask的session操作 3.10flask...app.add_url_rule("/index2/",view_func=index2)有名分组,yy用于接收参数。在flask中只有有名分组。...正则表达式会当作第二个参数传递到类中 from flask import Flask, views, url_for from werkzeug.routing import BaseConverter...__init__(map) self.regex = regex def to_python(self, value): """ 路由匹配时,匹配成功后传递给视图函数中参数的值..., value): """ 使用url_for反向生成URL时,传递的参数经过该方法处理,返回的值用于生成URL中的参数 """ print
本节目录: 1 完整的flask启动 2 视图函数传单个参数 3 参数类型 4 视图的响应 5 重定向—>redirect和url_for的结合 6 请求与响应 本教程的flask环境都是在ubuntu...app.run() 此时直接运行run这个名为manage.py的文件,会看到控制台显示以下示例, 说明服务器启动成功, 然后打开本机浏览器输入 http://127.0.0.1:5000/ 即可看到...' 启动参数 app.run() (1) debug 默认为Flase True 调试模式 自动加载代码 (2) port 指定端口号 (3) host 指定主机名 host=’0.0.0.0’ (4)...(1) string 默认就为字符串 (2) int 限制传递进来的参数为 int类型 不做类型的转换 (3) float 限制传递进来的参数为 float类型 不做类型的转换 (4) path 将请求的路由地址后面的所有参数...'传递多个参数' 注意事项 路由末尾的/建议都加上 因为在需要的时候 浏览器会自动帮你添加上 路由参数的限制 前面int/float/path/string 使用:和参数名称隔开 path其实也是字符串类型
安装Flask 依赖 当安装 Flask 时,以下配套软件会被自动安装: > – Werkzeug 用于实现 WSGI 是一个 WSGI(在 Web 应用和多种服务器之间的标准 Python 接口) 工具集...变量规则 通过把 URL 的一部分标记为 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。...在 Flask 中你完全无需 人工 干预,底层的 Werkzeug 库已经替你打点好了。 POST:浏览器告诉服务器:想在 URL 上 发布 新信息。并且,服务器必须确保 数据已存储且仅存储一次。...而”request.args.get()”方法则可以获取Get请求URL中的参数,该函数的第二个参数是默认值,当URL参数不存在时,则返回默认值。在后文的请求对象会讲到。...要操作 URL (如 ?
:Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 5代表...、Height的值Web中参数说明: Edit 代表编辑权限 1只读打开 Flag 代表选项掩码值 1代表直接嵌入已打开的指定程序 2是不用下载打开 4是不用核对打开文档文件名在主窗口显示...DataPath 代表如果文档下载时默认的本地保存路径 ExeName 代表启动和实际运行的exe文件名不一致时设置实际运行程序名 Cookie 当Open打开的文档是服务器上的Url地址时...,网络请求Url设置Cookie来获得下载权限 Auth 当Open打开的文档是服务器上的Url地址时,网络请求Url设置Auth来获得下载权限 MD5 当打开的文档需要下载时,完整文档的MD5...,磁盘目录斜杠用/注意:Open、Web和Url如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递