#FLASK

flask实战-个人博客-使用工厂函数创建程序实例 --

使用工厂函数创建程序实例使用蓝本还有一个重要的好处,那就是允许使用工厂函数来创建程序实例。在OOP(Object-OrientedProgramming,面向对象编程)中,工厂(factory)是指创建其他对象的对象,通常是一个返回其他类的对象的函数或方法,比如我们之前的例子中创建的WTForms验证器(函数)。在pe...

flask实战-个人博客-使用类组织配置 --

使用类组织配置在实际需求中,我们往往需要不同的配置组合。例如,开发用的配置,测试用的配置,生产环境用的配置。为了能方便地在这些配置中切换,你可以把配置文件升级为包,然后为这些使用场景分别创建不同的配置文件,但是最方便的做法是在单个配置文件中使用python类来组织多个不同类别的配置。 下面的代码是person...

flask实战-个人博客-使用蓝本模块化程序 --

使用蓝本模块化程序实例化flask提供的blueprint类就创建一个蓝本实例。像程序实例一样,我们可以为蓝本实例注册路由、错误处理函数、上下文处理函数,请求处理函数,甚至是单独的静态文件文件夹和模板文件夹。在使用上,它和程序实例也很相似。比如,蓝本实例同样拥有一个route()装饰器,可以用来注册路由,但实际上蓝本对...

flask实战-个人博客-虚拟环境、项目结构 --

个人博客博客是典型的CMS(ContentManagementsystem,内容管理系统),通常由两部分组成:一部分是博客前台,用来展示开放给所有用户的博客内容;另一部分是博客后台,这部分内容仅开放给博客管理员,用来对博客资源进行添加、修改和删除等操作。 在这个项目,我们会学习更高级的项目组织方式。另外,我们...

Flask实战-留言板-使用Flask-DebugToolbar调试程序、Flask配置的两种组织形式 --

使用Flask-DebugToolbar调试程序扩展Flask-DebugToolbar提供了一系列调试功能,可以用来查看请求的SQL语句、配置选项、资源加载情况等信息。这些信息在开发时会非常有用。首先使用pipenv安装Flask-DebugToolbar及其依赖:  然后实例化扩展提供的Debu...

Flask实战-留言板-使用Faker生成虚拟数据 --

使用Faker生成虚拟数据创建虚拟数据是编写Web程序时的常见需求。在简单的场景下,我们可以手动创建一些虚拟数据,但更方便的选择是使用第三方库实现。流行的python虚拟数据生成工具有Mimesis和Faker,后者同时支持python2和python3,而且文档中包含丰富的示例,所以这里选用Faker。首先用pipe...

Flask实战-留言板-使用Bootstrap-Flask简化页面编写 --

使用Bootstrap-Flask简化页面编写扩展Bootstrap-Flask内置了可以快速渲染Bootstrap样式HTML组件的宏,并提供了内置的Bootstap资源,方便快速开发,使用它可以简化在web程序里使用Bootstrap的过程。 扩展Bootstrap-Flask基于Flask-Bootst...

flask实战-留言板-Web程序开发流程 --

Web程序开发流程在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求)、项目经理(决定需求的实现方式)、开发者(实现需求)等,在这里我们假设自己是一个人全职开发。一般来说一个web程序的开发流程如下所示:1) 分析需求,列出功能清单或写需求说明书2) 设计程序功能,写功能规格...

Flask实战-留言板-安装虚拟环境、使用包组织代码 --

留言板创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入messageboard目录使用pipenv创建虚拟环境,这会同时安装所有依赖(--dev选项用来包括开发依赖),安装完成后激活虚拟环境。&...

flask 异步发送邮件 --

异步发送邮件 当使用SMTP的方式发送电子邮件时,如果你手动使用浏览器测试程序的注册功能,在提交注册表单后,浏览器会有几秒钟的不响应。因为这时候程序正在发送电子邮件,发信的操作阻断了请求--响应循环,直到发信的send_mail()函数调用结束后,视图函数才会返回响应。这几秒的延迟带了不好的用户体验,为了避免...
代码星球 ·2021-02-03

flask 电子邮件进阶实践-用模板发送163邮件 --

电子邮件进阶实践下面来学习构建邮件的HTML正文,并使用模板组织内容。一封电子邮件的正文可以是纯文本(text/plain),也可以是HTML格式的文本(text/html)。处于全面的考虑,一封邮件应该既包含纯文本正文又包含HTML格式的正文。HTML格式的正文将被优先读取;加入收信人的邮件系统比较古老,无法读取HT...

flask 电子邮件Flask-Mail --

电子邮件在web程序中,经常会需要发送电子邮件。比如,在用户注册账户时发送确认邮件;定期向用户发送热门内容或是促销信息等等。在Web程序中发送电子邮件并不复杂,借助扩展Flask-Mail或是第三方邮件服务,只需要几行代码就可以发送邮件。下面例子中,我们使用一封示例邮件,邮件仅包含几个必要的字段,如下: &n...
代码星球 ·2021-02-03

flask_mail发送163邮件,报553错误的原因 --

最近在练习用flask_mail发送163邮件时报错:reply:'553authenticationisrequired,163smtp9,DcCowAD3eEQZ561caRiaBA--.47S21554900770'reply:retcode(553);Msg:authenticationisrequired,1...

flask 使用Flask-Migrate迁移数据库(创建迁移环境、生成迁移脚本、更新数据库) --

使用Flask-Migrate迁移数据库在开发时,以删除表再重建的方式更新数据库简单直接,但明显的缺陷是会丢掉数据库中的所有数据。在生产环境下,没有人想把数据都删除掉,这时需要使用数据库迁移工具来完成这个工作。SQLAlchemy的开发者MichaelBayer写了一个数据库迁移工作—Alembic来帮助我们实现数据库...

flask 操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI'] --

 flask操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI'] 否则,运行程序时app.config里面做的设置就不会生效,就会提示各种参数没做设置因为db在声明的时候解释器就会去读数据库URI的值,如果此时没有读到,...
首页上一页...34567...下一页尾页