+ 我要发布
我发布的 我的标签 发现
公开标签 #Flask
使用PyCharm+Flask框架编写web站点时,当HTML页面里代码量逐渐增加,特别是合并他人的代码后,格式越来越混乱,这时就需要对HTML代码进行格式化。 除了使用第三方插件来格式化HTML代码,利用自带的是最方便也是最好用的。 需要注意的是,Windows系统和Mac系统格式化HTML代码稍有不同。 Windows系统格式化PyCharm里的HTML代码: 使用快捷方式 ctrl alt L 三键(需要先选中需要格式化的HTML代码) Mac系统格式化PyCharm里的HTML代码: 使用快捷方
因安全性问题,jinja2模版的内容默认会被自动转义,例如: <img src="abc.jpg"/> 会被jinja2模版转义成 &lt;img src=&#34;abc.jpg&#34;/&gt; 导致图片无法展示。这时就需要通过取消转义来展示图片,只需要在输出的内容外添加 {% autoescape false %}{% endautoescape %} 即可,例如: {% autoescape false %}{{ content }}{% endautoescape %}
Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server。 和大多数的web框架兼容,并具有实现简单,轻量级,高性能等特点。 ► Gunicorn 安装 pip3 install gunicorn 可全局安装,也可以在项目的虚拟环境安装。 ► Gunicorn + Flask 简单示例 Flask程序需要先安装 Flask 框架。使用 PyCharm 开发 Flask项目时,选择新建为 Flask 项目即可。 以下一个 Flask demo 文件: f
Flask框架作为后端,bootstrap+jQuery作为前端。jQuery将前端选择的图片异步post,后端接收到图片后保存到本地。 1,jQuery处理的部分 先看用到html代码: <input id="img_name" type="text"/> <input id="img_file" type="file"/> <input id="btn" type="button" onclick="fun_post_img()">上传图片</span> fun_post_img 方法代码(上传图片
gunicorn是一个Python Wsgi http server,Flask gunicorn Nginx在Linux上部署的详细操作这里不做赘述,网上有很多关于这方面的资料。 这里详细介绍下 Flask gunicorn Nginx 部署完成后,如何使用 Nginx 来做负载均衡。 Nginx 做负载均衡依赖 upstream 模块。 upstream 模块语法(custom_name是自定义的一个名称): upstream custom_name { server 127.0.0.1:8080;
Flask为什么会有临时全局变量?为了避免处理HTTP请求的函数传入参数过多,Flask发明了临时全局变量,让每个处理HTTP请求的函数都能更加优雅。 首先了解下Flask是如何处理HTTP请求的。 当Application服务器接收到HTTP请求时,它会将请求转发给flask.py中的Flask类进行处理。Flask类会如何处理这些请求呢?先来了解一下什么是服务器I/O模型。 一、服务器I/O模型 1:阻塞式单线程:这是最简单的I/O模型,服务器只有在处理完一个请求之后才会处理下一个请求。这种模型的缺
项目开发使用的是 Python Flask 框架,每次修改前端 HTML 和静态文件后,都要重启一下 Flask 服务后才能查看修改的效果,非常不方便。 Flask框架提供了内部配置可以让更改及时显示,不需要重启 Flask 服务,只需要刷新页面就能查看修改的效果。 只需要在代码中添加如下代码即可: app.jinja_env.auto_reload = True app.config['TEMPLATES_AUTO_RELOAD'] = True 完整代码: from main import crea
使用 @app.context_processor 和 @app.app_template_global() 修饰器的方法,可当做全局上下文变量在所有模板中直接被调用。 @app.context_processor 修饰的方法返回的是一个字典(注意 context_processor 后没有括号)。例如: @app.context_processor def context_user(): user={'name':'Jack','email':'jack@jack.com'} return {'use
Flask开发中报错:AttributeError: 'User' object has no attribute 'is_active' 原因是 User 类没有继承 UserMixin,修改如下: class User(UserMixin...
Flask和Spring Boot都是流行的Web应用框架,它们都具有快速开发、灵活性和可扩展性等特点。 以下是它们之间的比较: 1. 开发速度:Flask的快速开发特性使其在小型项目和快速迭代的项目中具有优势。而SpringBoot则具有自动配置和简化开发的优势,适合大型项目和复杂的应用程序。 2. 生态系统:SpringBoot具有庞大的生态系统,包括大量的库、插件和工具,可以轻松地与其他开源项目集成。而Flask则相对较小,但也有一些流行的库和插件可供选择。 3. 社区支持:SpringBoot有
发生这个问题一般有3种可能。 第一种:多开 PyCharm,并且有1个正在运行,此时运行其他 PyCharam 就会报错 解决方案:将正在运行的项目停止,然后运行当前项目。 第二种:PyCharm运行时非正常关闭,导致端口未释放。 解决方案:kill掉占用该端口的程序。 1,找出占用端口的程序(PyCharm默认使用的端口是 5000) $ lsof -i:5000 2,kill 掉 500 端口的程序(假设找到使用 5000 端口的PID 是 1234) $ kill -9 1234 第三种:其他程序
在 app.py 代码中新增: app.jinja_env.auto_reload = True app.config['TEMPLATES_AUTO_RELOAD'] = True 新增完后的 app.py 完整代码如下: from flask import Flask app = Flask(__name__) app.jinja_env.auto_reload = True app.config['TEMPLATES_AUTO_RELOAD'] = True @app.route('/') def
Python常用的web框架Flask提供了两种方法来返回静态文件。 以网站的 favicon.ico 为例。如果页面的head里没有提供网站ico的地址,则默认 https://x.com/favicon.ico 为网站图标地址。 但是直接访问该地址是无法展示图标的。 如果让该地址的图标展示出来呢? 方法1:通过 send_from_directory 返回静态文件(推荐) @app.route('/favicon.ico') def favicon(): return send_from_direc
1. Jinja模板中获取字符串长度 在Flask中使用Jinja模板引擎渲染页面时,有时需要获取字符串的长度以便进行判断或展示。Jinja提供了内置的过滤器length来获取字符串的长度。 示例: <body> <h1>欢迎来到{{ name }}</h1> <p>字符串长度:{{ name|length }}</p> </body> 2,Flask应用中计算字符串长度 方法1:使用Python内置函数len 在Flask应用中,我们可以使用Python内置的函数len()来计算字符串的长度。 示例:
在jinja2中的for循环,跟python中的for循环基本上是一模一样的。也是for...in...的形式。并且也可以遍历所有的序列以及迭代器。但是唯一不同的是,jinja2中的for循环没有break和continue语句。 并且jinja2中的for循环还包含以下变量,可以用来获取当前的遍历状态 变量|描述 loop.index 当前迭代的索引(从1开始) loop.index0 当前迭代的索引(从e开始) 1oop.first 是否是第一次迭代,返回True或 False loop.last
Python 知名项目源码 阅读+注解 根据目录分类, 逐个阅读源码. 每个子目录, 都有相关项目源码详细说明, 部分项目配有思维导图等, 解读代码结构. 一个项目, 精选多个版本作注解, 方便对比代码演进过程. 包含: asyncio, flask, sanic, bottle, webpy 等
1