flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第20章:Linux云主机部署

前端打包编译后只有静态文件,所以由 Nginx 提供静态资源服务,速度非常快。由于 Flask 自带的开发 Web 服务器性能不足以应对生产环境的并发访问,所以我们使用 Gunicorn 来替代它。正式环境中数据库不再使用 SQLite,由于我们使用了 SQLAlchemy ORM,所以可以很方便的将数据库切换到 MySQL 或 PostgreSQL。同时,我们还可以使用...

flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第19章:国际化

接下来将让我们的应用支持多种语言,后端 API 使用 Flask-Babel 模块,会根据你的 HTTP 请求中 Accept-Language 头部来判断你当前最适合阅读的语言,而前端 Vue.js 则使用 vue-i18n 插件来实现页面上文件的翻译

flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第18章:Elast...

博客文章数量一旦比较多的时候,用关键字进行全文检索就很有必要了,目前开源的全文搜索引擎有 Elasticsearch、Apache Solr、Whoosh 等,本文选择 Elasticsearch 7.0 来实现博客文章内容的全文搜索,并对搜索关键词进行高亮

flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第17章:RQ实现后台任务

通常对于处理时间较长的任务,我们应该放在后台进行异步处理,这样就不会阻塞当前请求。本文将通过 Redis Queue 来实现 [群发私信/邮件] 和 [导出文章] 后台任务(且动态显示任务进度),如果你有多个任务要并发执行,请开启多个 rq worker 即可;其中 [导出文章] 的代码在 http://www.madmalls.com/blog/post/latest-code 中

  • Madman
  • ·

Python使用logging模块的SMTPHandl...

如果你想使用 Python 的内置模块 logging 中的 SMTPHandler 将出错时的日志,通过邮件的方式发送给管理员的话,可能你会遇到很多坑,本文将解决诸如 socket.timeout: timed out 和 smtplib.SMTPServerDisconnected: Connection unexpectedly closed: timed out 等错误,亲测有效

flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第16章:管理后台

我们需要一个后台来管理所有已注册的用户列表、他们所发布的博客文章和评论等,为了节约时间,我只是在前端菜单栏上增加了 Admin 入口,简单的演示如何管理角色、用户、博客、评论等,并没有重新开发另一个完整的后台管理系统

  • Madman
  • ·

自动生成文章目录TOC与定位导航

要自动生成博客文章的目录 TOC(Table of Contents),可以在后端生成,比如 Markdown 有 TOC 插件。或者使用前端插件,比如 tocify、toc 等,同时前端插件还可以结合 scrollspy 等来实现定位导航,即向下滚动文章内容时,会自动定位到对应的目录项。本文使用前端 JS 生成目录,展示样式美观且能够定位导航,并支持 3 级目录

  • Madman
  • ·

一文搞懂 MongoEngine 的使用

Flask-MongoEngine 是集成了 MongoEngine 的一个 Flask 插件,并且它可以从 MongoEngine 定义的数据模型中快速生成 WTForms。而 MongoEngine 是一个 Document-Object Mapper (非常类似于 ORM),是 Python 语言的、用来操作 MongoDB 数据库的 DOM 架构

flask vuejs 全栈开发-min.png
  • Madman
  • ·

Flask Vue.js全栈开发|第15章:权限管理

Web 应用中并不是每个用户的权限都一样,本章我们将实现简单的 RBAC(Role-based access control) 权限控制系统,创建多个角色,每个用户属于一个角色,每个角色所拥有的权限不同。比如只有管理员角色才能访问管理后台、编辑才能发布文章