# StarryBlog **Repository Path**: windstarry/starry-blog ## Basic Information - **Project Name**: StarryBlog - **Description**: 学习flask搭建个人博客 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-04 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 学习flask搭建个人博客StarryBlog 本系列的原文名为:[The Flask Mega-Tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) ,作者是 **Miguel Grinberg** 。 本系列是作者平时使用 Flask 微框架编写应用的经验之谈,这里是这一系列中所有已经发布的文章的索引。 * [Hello World](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html) * [作者背景](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#id1) * [应用程序简介](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#id2) * [要求](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#id3) * [安装 Flask](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#flask) * [在 Flask 中的 “Hello, World”](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#flask-hello-world) * [下一步?](http://www.pythondoc.com/flask-mega-tutorial/helloworld.html#id5) * [模板](http://www.pythondoc.com/flask-mega-tutorial/templates.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id2) * [为什么我们需要模板](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id3) * [模板从天而降](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id4) * [模板中控制语句](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id5) * [模板中的循环语句](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id6) * [模板继承](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id7) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/templates.html#id8) * [web 表单](http://www.pythondoc.com/flask-mega-tutorial/webforms.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id1) * [配置](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id2) * [用户登录表单](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id4) * [表单模板](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id5) * [表单视图](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id6) * [接收表单数据](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id7) * [加强字段验证](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id8) * [处理 OpenIDs](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#openids) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/webforms.html#id9) * [数据库](http://www.pythondoc.com/flask-mega-tutorial/database.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/database.html#id2) * [从命令行中运行 Python 脚本](http://www.pythondoc.com/flask-mega-tutorial/database.html#python) * [Flask 中的数据库](http://www.pythondoc.com/flask-mega-tutorial/database.html#flask) * [迁移](http://www.pythondoc.com/flask-mega-tutorial/database.html#id4) * [配置](http://www.pythondoc.com/flask-mega-tutorial/database.html#id5) * [数据库模型](http://www.pythondoc.com/flask-mega-tutorial/database.html#id6) * [创建数据库](http://www.pythondoc.com/flask-mega-tutorial/database.html#id7) * [第一次迁移](http://www.pythondoc.com/flask-mega-tutorial/database.html#id8) * [数据库升级和回退](http://www.pythondoc.com/flask-mega-tutorial/database.html#id9) * [数据库关系](http://www.pythondoc.com/flask-mega-tutorial/database.html#id10) * [编程时间](http://www.pythondoc.com/flask-mega-tutorial/database.html#id11) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/database.html#id13) * [用户登录](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id2) * [配置](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id3) * [Python 3 兼容性](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#python-3) * [重构用户模型](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id4) * [user_loader 回调](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#user-loader) * [登录视图函数](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id5) * [Flask-OpenID 登录回调](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#flask-openid) * [全局变量 *g.user*](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#g-user) * [首页视图](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id7) * [登出](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id8) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/userlogin.html#id9) * [用户信息页和头像](http://www.pythondoc.com/flask-mega-tutorial/profile.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id2) * [用户信息页](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id3) * [头像](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id4) * [在子模板中重用](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id6) * [更多有趣的信息](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id7) * [编辑用户信息](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id8) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/profile.html#id9) * [单元测试](http://www.pythondoc.com/flask-mega-tutorial/testing.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id2) * [发现 bug](http://www.pythondoc.com/flask-mega-tutorial/testing.html#bug) * [Flask 调试](http://www.pythondoc.com/flask-mega-tutorial/testing.html#flask) * [定制 HTTP 错误处理器](http://www.pythondoc.com/flask-mega-tutorial/testing.html#http) * [通过电子邮件发送错误](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id4) * [记录到文件](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id5) * [修复 bug](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id6) * [单元测试框架](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id7) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/testing.html#id8) * [关注者,联系人和好友](http://www.pythondoc.com/flask-mega-tutorial/followers.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id2) * [‘关注者’ 特色的设计](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id3) * [数据库关系](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id4) * [表示关注者和被关注者](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id8) * [数据模型](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id9) * [添加和移除 ‘关注者’](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id10) * [测试](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id11) * [数据库查询](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id12) * [可能的改进](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id16) * [收尾](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id17) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/followers.html#id20) * [分页](http://www.pythondoc.com/flask-mega-tutorial/pagination.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id2) * [提交博客文章](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id3) * [显示 blog](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#blog) * [分页](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id4) * [页面导航](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id5) * [实现 Post 子模板](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#post) * [用户信息页](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id6) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/pagination.html#id7) * [全文搜索](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id2) * [全文搜索引擎的简介](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id3) * [Python 3 兼容性](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#python-3) * [配置](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id4) * [模型修改](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id5) * [搜索](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id6) * [整合全文搜索到应用程序](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id8) * [搜索结果页](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id12) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/textsearch.html#id13) * [邮件支持](http://www.pythondoc.com/flask-mega-tutorial/email.html) * [回顾](http://www.pythondoc.com/flask-mega-tutorial/email.html#id2) * [安装 Flask-Mail](http://www.pythondoc.com/flask-mega-tutorial/email.html#flask-mail) * [配置](http://www.pythondoc.com/flask-mega-tutorial/email.html#id3) * [让我们发送邮件!](http://www.pythondoc.com/flask-mega-tutorial/email.html#id4) * [简单的邮件框架](http://www.pythondoc.com/flask-mega-tutorial/email.html#id5) * [关注提醒](http://www.pythondoc.com/flask-mega-tutorial/email.html#id6) * [这就足够了吗?](http://www.pythondoc.com/flask-mega-tutorial/email.html#id7) * [在 Python 中异步调用](http://www.pythondoc.com/flask-mega-tutorial/email.html#python) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/email.html#id9) * [换装](http://www.pythondoc.com/flask-mega-tutorial/facelift.html) * [简介](http://www.pythondoc.com/flask-mega-tutorial/facelift.html#id2) * [我们该怎么做?](http://www.pythondoc.com/flask-mega-tutorial/facelift.html#id3) * [Bootstrap 简介](http://www.pythondoc.com/flask-mega-tutorial/facelift.html#bootstrap) * [用 Bootstrap 装点 *microblog*](http://www.pythondoc.com/flask-mega-tutorial/facelift.html#bootstrap-microblog) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/facelift.html#id15) * [日期和时间](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html) * [善意提醒](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#id2) * [时间戳的问题](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#id3) * [用户特定的时间戳](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#id4) * [介绍 moment.js](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#moment-js) * [整合 moment.js](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#id7) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/dateandtime.html#id8) * [国际化和本地化](http://www.pythondoc.com/flask-mega-tutorial/i18n.html) * [配置](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id2) * [标记翻译文本](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id3) * [提取文本翻译](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id4) * [生成一个语言目录](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id6) * [更新翻译](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id7) * [翻译 *moment.js*](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#moment-js) * [惰性求值](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id9) * [快捷方式](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id10) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/i18n.html#id11) * [Ajax](http://www.pythondoc.com/flask-mega-tutorial/ajax.html) * [客户端 VS 服务器端](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#vs) * [翻译用户生成内容](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id4) * [确定 blog 语言](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#blog) * [显示 “翻译” 链接](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id5) * [翻译服务](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id6) * [使用 Microsoft Translator 服务](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id7) * [让我们翻译一些文本](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id11) * [服务器上的 Ajax](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id12) * [客户端上的 Ajax](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id13) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/ajax.html#id15) * [调试,测试以及优化](http://www.pythondoc.com/flask-mega-tutorial/debugging.html) * [Bug](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#bug) * [现场调试问题](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id2) * [使用 Python 调试器](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#python) * [回归测试](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id4) * [修复](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id5) * [测试覆盖率](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id7) * [性能调优](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id8) * [数据库性能](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id9) * [结束语](http://www.pythondoc.com/flask-mega-tutorial/debugging.html#id10)