<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web 开发 &#8211; 李辉 / Grey Li</title>
	<atom:link href="https://greyli.com/tag/web-%E5%BC%80%E5%8F%91/feed/" rel="self" type="application/rss+xml" />
	<link>https://greyli.com</link>
	<description>一个编程和写作爱好者的在线记事本</description>
	<lastBuildDate>Sat, 03 Jan 2026 12:59:26 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.26</generator>

<image>
	<url>https://greyli.com/wp-content/uploads/2025/03/avatar-500-compressed-144x144.jpg</url>
	<title>Web 开发 &#8211; 李辉 / Grey Li</title>
	<link>https://greyli.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>《Flask 从入门到进阶》正式发售</title>
		<link>https://greyli.com/new-flask-book/</link>
		<comments>https://greyli.com/new-flask-book/#comments</comments>
		<pubDate>Sun, 23 Nov 2025 14:25:36 +0000</pubDate>
		<dc:creator><![CDATA[李辉]]></dc:creator>
				<category><![CDATA[读书与写作]]></category>
		<category><![CDATA[Flask]]></category>
		<category><![CDATA[Flask Web开发实战]]></category>
		<category><![CDATA[Flask 从入门到进阶]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web 开发]]></category>

		<guid isPermaLink="false">https://greyli.com/?p=5830</guid>
		<description><![CDATA[经过五年的写（拖）作（延），我的新书《Flask 从入门到进阶》终于出版了！作为《Flask Web 开发实战 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>经过五年的写（拖）作（延），我的新书《<a href="https://helloflask.com/book/4/">Flask 从入门到进阶</a>》终于出版了！作为《<a href="https://helloflask.com/book/1/">Flask Web 开发实战</a>》的全新升级版，新版本在原书的基础上进行了大量更新和调整，以便适应当下的技术栈。目前已经有现货可以购买：</p>
<ul>
<li><a href="https://item.jd.com/10197448824391.html">京东</a></li>
<li><a href="https://product.dangdang.com/12441003237.html">当当</a></li>
<li><a href="https://helloflask.com/book/4/signed/">作者签名版</a></li>
</ul>
<p>至此我在 Flask 这条人生支线的探索也算圆满了。我从大二自学 Python 和 Flask，毕业前开始写作《Flask Web 开发实战》，这本书出版的同时也成为了 Flask 的维护者，并且为大量相关项目贡献代码。从</span> 2018 年出版到现在，一共重印了 14 次，累计售出 2 万本（包括电子书）。收获了很多好评，在<a href="https://book.douban.com/subject/30310340/">豆瓣</a>上评分也保持在 9 分左右：</p>
<p><a href="https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page.png"><img class="aligncenter size-large wp-image-5834" src="https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page-1024x392.png" alt="" width="625" height="239" srcset="https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page-1024x392.png 1024w, https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page-150x57.png 150w, https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page-300x115.png 300w, https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page-624x239.png 624w, https://greyli.com/wp-content/uploads/2025/11/flask-book-douban-page.png 1364w" sizes="(max-width: 625px) 100vw, 625px" /></a></p>
<p>到现在终于完成了新版本，而且还拿到了 Armin Ronacher（Flask 作者）的推荐语：</p>
<blockquote>
<p>Great resources make great developers, and it’s wonderful to see Flask supported by such high-quality education materials.</p>
</blockquote>
<p>感谢一直关注这本书并持续催更的朋友！这本书的完成是我们共同努力的结果 :D</p>
<p><a href="https://greyli.com/wp-content/uploads/2025/11/new-flaskbook.jpg"><img class="aligncenter wp-image-5843 " src="https://greyli.com/wp-content/uploads/2025/11/new-flaskbook-768x1024.jpg" alt="" width="409" height="545" srcset="https://greyli.com/wp-content/uploads/2025/11/new-flaskbook-768x1024.jpg 768w, https://greyli.com/wp-content/uploads/2025/11/new-flaskbook-113x150.jpg 113w, https://greyli.com/wp-content/uploads/2025/11/new-flaskbook-225x300.jpg 225w, https://greyli.com/wp-content/uploads/2025/11/new-flaskbook-624x832.jpg 624w" sizes="(max-width: 409px) 100vw, 409px" /></a></p>
<h2>本书主要特色</h2>
<p>这本书换了一个新书名，出于<a href="https://greyli.com/flask-book-2025-signed/#new-name">一个有点滑稽的原因</a>。书名从《Flask Web 开发实战：入门、进阶与原理解析》变成了《Flask 从入门到进阶：Python Web 开发工程化实践》。不过新的副书名也能更好的概括这本书的特点：以学习 Flask Web 开发作为脉络，你能通过这本书掌握相对完整的 Python Web 工程化实践。从 HTTP 原理到数据库 ORM，从单元测试到代码风格再到性能优化，从 Web 程序开发到 Web API 开发，最后再到不同的部署方式。如果想要深入了解框架，最后还有一章源码解析。同时用两个示例程序串起来各种不同的知识点，比如 Flask 项目的组织方式和技巧，以及 Flask 开发中各类功能的实现。</p>
<p>访问这本书的主页查看详细介绍和章节目录：<a href="https://helloflask.com/book/4/">https://helloflask.com/book/4/</a></p>
<h2>新版本主要变化</h2>
<p>下面是一些具体内容上的变化：</p>
<h3>版本升级</h3>
<table>
<thead>
<tr>
<th>旧版本</th>
<th>新版本</th>
</tr>
</thead>
<tbody>
<tr>
<td>Flask 1.x</td>
<td>Flask 3.x</td>
</tr>
<tr>
<td>Python 2.7, 3.6+</td>
<td>Python 3.9+</td>
</tr>
<tr>
<td>Bootstrap 4.x</td>
<td>Bootstrap 5.x</td>
</tr>
<tr>
<td>SQLAlchemy 1.x</td>
<td>SQLAlchemy 2.x</td>
</tr>
</tbody>
</table>
<h3>技术栈更新</h3>
<table>
<thead>
<tr>
<th>旧版本</th>
<th>新版本</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pipenv</td>
<td>PDM</td>
</tr>
<tr>
<td>Flask-Mail</td>
<td>Flask-Mailman</td>
</tr>
<tr>
<td>Flake8</td>
<td>Ruff</td>
</tr>
<tr>
<td>Open Iconic</td>
<td>Bootstrap Icon</td>
</tr>
<tr>
<td>Flask-Moment + Moment.js</td>
<td>Day.js</td>
</tr>
<tr>
<td>jQuery</td>
<td>Vanilla JS</td>
</tr>
<tr>
<td>AJAX with jQuery</td>
<td>Fetch API</td>
</tr>
<tr>
<td>Flask for Web API</td>
<td>APIFlask</td>
</tr>
<tr>
<td>云平台部署</td>
<td>Docker 部署</td>
</tr>
</tbody>
</table>
<p>示例程序上做了比较大的调整，删掉了旧版本的 <a href="https://github.com/greyli/sayhello">SayHello</a>、<a href="https://github.com/greyli/todoism">Todoism</a>、<a href="https://github.com/greyli/catchat">CatChat</a>，保留两个程序并做了比较大的重构：</p>
<table>
<thead>
<tr>
<th>旧版本</th>
<th>新版本</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bluelog</td>
<td><a href="https://github.com/greyli/greybook" target="_blank" rel="noopener">Greybook</a></td>
</tr>
<tr>
<td>Albumy</td>
<td><a href="https://github.com/greyli/moments" target="_blank" rel="noopener">Moments</a></td>
</tr>
<tr>
<td>helloflask/demos</td>
<td><a href="https://github.com/greyli/helloflask/tree/main/examples" target="_blank" rel="noopener">helloflask/examples</a></td>
</tr>
</tbody>
</table>
<p>新版本计划是想做一些删减，比如从 700 页减到 500 页，毕竟一本厚书还是让人蛮有压力的。虽然删掉了两个章节，但是写到最后又快到了 700 页，实际的厚度比旧版本还要厚一点点。大概不知不觉又加了很多内容进来。</p>
<h2>面向的读者群</h2>
<p>本书面向的读者群如下：</p>
<ul>
<li>了解 Python 基本语法，想要自己动手开发网站的编程爱好者</li>
<li>熟悉 Python，想要从事 Python Web 开发的后端工程师、运维工程师和爬虫工程师</li>
<li>想要从 Django 等其他 Python Web 框架转向 Flask 的 Python 工程师</li>
</ul>
<p>本书不包含对 Python 的基础知识介绍，所以读者需要事先对 Python 基本语法有一定的了解。另外，Web 开发不可避免的会涉及到一些 HTML、CSS 和 JavaScript 知识，如果你不熟悉这些，可以通过 MDN 提供的 <a href="https://developer.mozilla.org/zh-CN/docs/learn" target="_blank" rel="noopener">Web 开发入门教程</a>学习，简单了解即可。</p>
<h2>推荐语</h2>
<blockquote>
<p>Great resources make great developers, and it’s wonderful to see Flask supported by such high-quality education materials.</p>
<p>—— <a href="https://lucumr.pocoo.org/about/">Armin Ronacher</a>（Flask 作者，Sentry Platform 副总裁）</p>
<p>作为一名对 Python 充满热忱的软件工程师，一名乐于帮助他人、回馈社区的布道者，Grey 对技术准确性、阅读体验感的无限追求都体现在这本新作中，我相信每一名读者都能在字里行间感受到他的诚意。</p>
<p>—— 管俊（《DevOps 实践指南（第 2 版）》译者，戴尔中国卓越研发集团 DevOps 架构师）</p>
<p>这本书内容翔实，推荐给想要系统学习 Flask 的人。不要漏掉书中的小知识点哦。</p>
<p>—— <a href="http://lepture.com/">Hsiaoming Yang</a>（Typlog 创始人，Authlib 作者）</p>
</blockquote>
<h2>关于作者</h2>
<p class="">我是李辉（Grey Li），Flask &amp; APIFlask 的维护者，Flask 开发团队（<a href="https://palletsprojects.com/people" target="_blank" rel="noopener">Pallets Team</a>）成员， HelloFlask 社区和代码厨房社区创建者，微软 Python 方向最有价值专家（MVP）。目前就职于戴尔中国卓越研发集团，担任首席软件工程师。</p>
<p>我热衷于开源软件的应用和推广，为 Flask 等开源项目贡献过大量代码。也曾在 PyCon China、PyCon US、COSCUP、COSCon、CommunityOverCode 等技术大会担任演讲嘉宾。你可以在 <a href="https://github.com/greyli" target="_blank" rel="noopener">GitHub</a> 上看到我的开源项目。</p>
<p>如果你想了解我的新作品或其他动态，可以关注我的 <a href="https://twitter.com/greylihui" target="_blank" rel="noopener">Twitter</a> 和<a href="https://greyli.com/files/qrcode_gh.jpg" target="_blank" rel="noopener">微信公众号</a>，或是加入我的<a href="https://greyli.com/newsletter" target="_blank" rel="noopener">邮件通讯列表</a>。</p>
<h2>勘误、分享和评价</h2>
<p>在阅读过程中如果发现了排版或内容上的错误，欢迎通过下面的方式提交勘误。我会在后续重印时进行修正。感谢反馈！</p>
<ul>
<li>提交 <a href="https://github.com/greyli/helloflask/issues/new/choose">GitHub issue</a></li>
<li>在<a href="https://codekitchen.community/t/topic/837">勘误收集帖</a>留言</li>
</ul>
<p>如果你觉得这本书还不错，欢迎分享到社交网络，或是告诉你的同事和朋友。也欢迎在<a href="https://book.douban.com/subject/37668215/">本书的豆瓣页面</a>标记和评价。</p>
]]></content:encoded>
			<wfw:commentRss>https://greyli.com/new-flask-book/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PyCon China 2019 Tutorial：Python Web 开发第一课</title>
		<link>https://greyli.com/pycon-china-2019-python-web-development-class-one/</link>
		<comments>https://greyli.com/pycon-china-2019-python-web-development-class-one/#respond</comments>
		<pubDate>Sat, 31 Aug 2019 02:24:45 +0000</pubDate>
		<dc:creator><![CDATA[李辉]]></dc:creator>
				<category><![CDATA[计算机与编程]]></category>
		<category><![CDATA[Flask]]></category>
		<category><![CDATA[PyCon]]></category>
		<category><![CDATA[PyCon China]]></category>
		<category><![CDATA[PyCon China 2019]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web 开发]]></category>

		<guid isPermaLink="false">http://greyli.com/?p=2543</guid>
		<description><![CDATA[这是在 PyCon China 2019 上海场 9 月 22 号上午九点开始的 Tutorial（实践课程） [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>这是在 <a href="https://cn.pycon.org/">PyCon China 2019</a> 上海场 9 月 22 号上午九点开始的 Tutorial（实践课程）《Python Web 开发第一课》 的介绍和相关信息。</p>
<p>购票链接：<a href="https://www.bagevent.com/event/5886131">https://www.bagevent.com/event/5886131</a>（Tutorial T3，优惠码 hellogrey）</p>
<h2>标题</h2>
<p>Python Web 开发第一课</p>
<h2>介绍</h2>
<p>这是一个面向 Python 程序员的 Web 开发课程，目标听众需要对 Python 基本语法有一定的了解，但对 Web 开发的了解程度没有要求。</p>
<p>在这个课程里，我会将 Python Web 开发所涉及的相关概念进行一个系统的梳理和介绍，包括 HTTP 协议、前端基础知识、常用的 Python Web 框架以及其他各种工具。</p>
<p>这个课程还会包含一个动手编程的环节。我会从最让人头疼的开发环境搭建开始，一步一步教你如何使用 Flask 开发一个简单的 Web 程序。</p>
<p>在课程过后，参与者会对整个 Python Web 开发技术栈有一个全局认识，并掌握基本的 Web 开发知识，而且会对接下来的学习路径有一个清晰的了解。</p>
<h2>流程</h2>
<p>时长：三小时</p>
<p>一、基本概念</p>
<ul>
<li>Python Web 开发技术栈地图</li>
<li>HTTP 协议基础知识（请求与响应、URL 等）</li>
<li>前端基础知识（HTML、CSS、JavaScript、AJAX 等）</li>
<li>Python 后端框架的特点和选择（Flask、Django 等）</li>
<li>传统 Web 程序和 Web API 的对比</li>
<li>测试、部署、持续集成等相关概念快速扫盲</li>
</ul>
<p>二、动手编程</p>
<ul>
<li>开发环境搭建</li>
<li>运行和调试程序</li>
<li>编写 HTML 模板</li>
<li>添加表单支持</li>
<li>添加数据库支持</li>
</ul>
<p>三、Q&amp;A</p>
<ul>
<li>介绍常见的学习误区和建议的学习方向</li>
<li>关于代码或其他任何相关内容的提问</li>
</ul>
<h2>内容难度</h2>
<p>初级</p>
<h2>目标听众</h2>
<ul>
<li>想了解 Web 开发的前端、运维、测试或其他工程师</li>
<li>想自己做网站的编程爱好者</li>
<li>Web 开发或 Python 初学者</li>
</ul>
<h2>听众要求</h2>
<ul>
<li>了解 Python 基本语法</li>
<li>有一台安装了 Python 和浏览器的电脑，并且了解命令行基本操作</li>
</ul>
<h2>讲者介绍</h2>
<p>李辉，Flask 等相关项目的维护者，《Flask 入门教程》和《Flask Web 开发实战》的作者，HelloFlask 社区创建者。他撰写过大量技术文章，回答过大量技术问题，在这个过程中积累了一些编程教学的技巧，擅长用简单的语言解释复杂的编程概念。你可以在他的个人网站 greyli.com 了解到更多相关信息。</p>
]]></content:encoded>
			<wfw:commentRss>https://greyli.com/pycon-china-2019-python-web-development-class-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
