本文翻译自The Flask Mega-Tutorial Part XVIII: Deployment on Heroku 这是Flask Mega-Tutorial系列的第十八部分,我将在其中部署Microblog到Heroku云平台. 在前面的文章中,我向你展示了托管Python应用程序的“传统”方式,并且我演示了两个部署到Linux的服务器的实际示例. 如果你不曾管理过Linux系统,那么你可能认为需要投入大量工作到这项任务中,而且肯定会有一个更简单的方法. 在本章中,我将向你展示一种完全…
第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依然有许多任务会变得单调且重复.表单的HTML代码生成和验证提交的表单数据就是两个很好的例子. Flask-WTF扩展使得处理web表单能获得更愉快的体验.该扩展是一个封装了与框架无关的WTForms包的Flask集成. Flask-WTF和它的依赖集可以通过pip来安装: (venv) $ pip…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十八章-并发登录人数控制 shiro中没有提供默认实现,不过可以很容易实现.通过shiro filter机制拓展KickoutSessionControllerFilter. kickoutSessionControllerFilter  ->  将这个filter配置到shiro的配置文件中 -> 遇到的一些问题. 示例代码的结构: 1.…
本文翻译自The Flask Mega-Tutorial Part XIX: Deployment on Docker Containers 这是Flask Mega-Tutorial系列的第十九部分,我将在其中部署Microblog到Docker容器平台. 在第十七章中,你了解了传统部署,使用这种部署方式,你必须关注服务器配置的每个细节. 然后在第十八章我带你到另一个极端——Heroku ,这是一项完全掌控配置和部署任务的服务,使你能够全神贯注于应用程序. 在本章中,你将学习基于容器(尤其是在…
本文翻译自The Flask Mega-Tutorial Part XXII: Background Jobs 这是Flask Mega-Tutorial系列的第二十二部分,我将告诉你如何创建独立于Web服务器之外运行的后台作业. 本章致力于为应用程序中运行时间较长或复杂的异步任务进程进行优化.这些进程不能在请求的上下文中同步执行,因为这会在任务持续期间阻塞对客户端的响应.在第十章中,我将邮件的发送转移到后台线程中执行,以免阻塞响应. 虽然使用线程处理电子邮件是可以接受的,但当问题处理时间更长时…
第十八章. Web编程 import urllib2 LOGIN = 'jin' PASSWD = 'Welcome' URL = 'https://tlv-tools-qc:8443/qcbin/start_a.htm' def handler_version(url): from urlparse import urlparse as up hdlr = urllib2.HTTPBasicAuthHandler() hdlr.add_password('Archives', up(url)[…
本文翻译自The Flask Mega-Tutorial Part XIV: Ajax 这是Flask Mega-Tutorial系列的第十四部分,我将使用Microsoft翻译服务和少许JavaScript来添加实时语言翻译功能. 在本章中,我将从服务器端开发的“安全区域”脱离,研究与服务器端同样重要的客户端组件的功能. 你是否看到过某些网站在用户生成的内容旁边显示的“翻译”链接? 这些链接会触发非用户本地语言内容的实时自动翻译. 翻译的内容通常插入原始版本的下方. Google将其显示为外语…
本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的方式处理日期和时间,无论他们身处地球上的何处. 显示日期和时间是Microblog应用中长期被忽略的其中一个方面. 直到现在,我也只是让Python渲染了User模型中的datetime对象,并且完全忽略了Post模型中的datetime对象. 本章的GitHub链接为:Browse, Zip, D…
本文翻译自The Flask Mega-Tutorial Part XV: A Better Application Structure 这是Flask Mega-Tutorial系列的第十五部分,我将使用适用于大型应用的风格重构本应用. Microblog已经是一个初具规模的应用了,所以我认为这是讨论Flask应用如何在持续增长中不会变得混乱和难以管理的好时机. Flask是一个框架,旨在让你选择以任何方式来组织项目,基于该理念,在应用日益庞大或者技能水平变化的时候,才有可能更改和调整其结构.…
本文翻译自The Flask Mega-Tutorial Part XVI: Full-Text Search 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblog添加全文搜索功能. 本章的目标是为Microblog实现搜索功能,以便用户可以使用自然语言查找有趣的用户动态内容.许多不同类型的网站,都可以使用Google,Bing等搜索引擎来索引所有内容,并通过其搜索API提供搜索结果. 这这方法适用于静态页面较多的的大部分网站,比如论坛. 但在我的应用中,基…