《Flask 入门教程》第 3 章:模板

在一般的 Web 程序里,访问一个地址通常会返回一个包含各类信息的 HTML 页面。因为我们的程序是动态的,页面中的某些信息需要根据不同的情况来进行调整,比如对登录和未登录用户显示不同的信息,所以页面需要在用户访问时根据程序逻辑动态生成。  [...] 

再见,新浪微博!

从今年上半年注册新浪微博以来,频繁出现“被点赞”的情况,赞的微博都是各种各样的营销内容。每一次都要一个一个的取消点赞,有的微博已经删除还无法取消,试了修改密码等方式均无效。不知道这些“被点赞”的微博会不会被关注我的朋友们看到,如果会出现在时间线上,那实在抱歉了。谢谢各位朋友的关注和支持,顺便还要说声再见,因为我已经决定不再用它了。  [...] 

让 CKEditor 图片响应式(responsive)

通过 CKEditor 上传并插入图片后,CKEditor 的图片部件(widget)会在图片的 <img> 元素里插入行内样式定义来设置图片的宽高,这会导致响应式布局失效:图片因为被固定了宽高,在窗口缩小后会超出外层元素。生成的 HTML 代码示例如下:  [...] 

在 Flask 程序中实现 CKEditor 图片上传和 CSRF 保护

《Flask Web 开发实战》第 2 个实战项目是一个博客(Bluelog),这个项目本来没有添加图片上传支持,很多人想要自己实现,结果因为项目中同时使用了 CSRFProtect 扩展,它会默认验证所有 POST 请求,进而导致上传图片的请求出错。反馈的人多了,我就做了一些事情来改善这个问题:  [...] 

李辉

2018年12月8日

如果你是 Windows + Python 2.7 用户,可以升级 python-dotenv 至三天前发布的 0.10.0 版本,这样可以解决运行 Flask 程序出现的 TypeError: environment can only contain strings 异常(#101 最终被合并了)。

另外,最近所有示例程序完成了一次全面的更新(多个 bug 修复,项目依赖升级)。请按照前言“使用示例程序”部分更新所有源码仓库,然后重新执行一次 pipenv install,这会一并更新 python-dotenv 版本。如果不方便访问 GitHub,可以点击链接(http://helloflask.com/downloads/helloflask-projects.zip)下载最新的全部源码打包文件。

几个月过去,这个问题终于有了合理的解决方案。

写一本Flask入门教程

第一次萌生出这个念头是在2016年,刚开始写知乎专栏《Hello, Flask!》的时候。写了几篇文章后,原来计划的系统性的教程就变成了一堆零散主题的文章。一年后,又有过一次写教程的念头,那是在《用Flask实现豆瓣相册(一)》;只不过,刚刚完成第一篇,就开始写《Flask Web开发实战》了。书写完到现在,又是一年过去了。 [...] 

一本技术书的写作,能给一个社区带来什么?

 

写作《Flask Web开发实战》花费了一年多的时间,在这期间,除了编写5个项目实例和写作外,我还花了一部分时间来和书中涉及的Python库(主要是Flask扩展)打交道。这篇文章总结了这本书的写作给整个Flask社区带来的一些改变。 [...]