flask实战-个人博客-虚拟环境、项目结构

个人博客

博客是典型的CMS(Content Management system,内容管理系统),通常由两部分组成:一部分是博客前台,用来展示开放给所有用户的博客内容;另一部分是博客后台,这部分内容仅开放给博客管理员,用来对博客资源进行添加、修改和删除等操作。

在这个项目,我们会学习更高级的项目组织方式。另外,我们还会学习使用扩展Flask-Login实现用户认证,这样就可以区分请求的来源客户端的身份,然后根据不同的身份返回不同的响应。网址:yii666.com<

安装和激活虚拟环境

D:\flask\personalBlog>pipenv install --dev

flask实战-个人博客-虚拟环境、项目结构

这里用原作者的pipfile和pipfile.lock(放到项目根目录下),来安装虚拟环境的时候指定需要安装的第三方包及其版本文章地址https://www.yii666.com/article/758389.html

pipfile.lock是根据pipfile和当前环境自动生成的JSON格式的依赖文件

激活虚拟环境

flask实战-个人博客-虚拟环境、项目结构

大型项目结构

对于中小项目来说,使用程序包足以满足开发的需求。但如果项目更加复杂和庞大,我们就要学习一些进阶的项目组织技巧。在这一章,我们会学习用工厂函数和蓝本等技巧来进一步组织flask程序。

当某一个模块包含太多代码时,常见的做法是将单一模块升级为包,然后把原模块的内容分离成多个模块。在personalBlog程序中,视图模块views.py被转换成personalPrints子包,views.py的内容按照类别分离成auth.py、blog.py和admin.py三个模块。另外,模板文件夹内新创建了三个子文件夹:author、blog、admin,分别存放各自分类的模板。

personalBlog的程序包的主要文件结构如下所示:

personalblog/

blueprints/

__init__.py

blog.py

auth.py文章来源地址https://www.yii666.com/article/758389.html文章来源地址:https://www.yii666.com/article/758389.html

admin.py

templates/

admin/

auth/

blog/

base.html

macros.html

static/

forms.py

models.py

emails.py  电子邮件

utils.py    辅助函数网址:yii666.com

fakes.py   虚拟数据

extensions.py  扩展

和messageBoard程序相比,personalBlog的程序包的根目录下新出现了4个脚本:

utils.py用来存储各种辅助函数(即utilities的简写),比如之前介绍的用于重定向回上一个页面的redirect_back()以及验证URL安全性的url_safe()。

fakes.py脚本存储虚拟数据生成函数。随着程序变大,我们需要生成大量不同种类的虚拟数据。比如,为了模拟一个虚拟博客,我们需要创建虚拟的博客信息、文章、分类和评论。使用函数可以更方便地组织这些虚拟数据生成代码,并且更易于重用。

emails.py用来存储发送电子邮件的函数。为了更方便使用,除了通用的发信函数,我们还会创建特定的发信函数。比如,用户发送新评论提醒的函数。

extensions.py用来存储扩展实例化等操作。

和大多数脚本一样,这些脚本的命名没有固定高要求,你可以自由修改。比如,utils.py也可以命名为helpers.py,fakes.py也可以命名为dummies.py或是vdatas.py。

一般来说,模块升级为包后的名称应该和模块名称相同。比如,如果表单类太多,我们会创建一个forms子包,然后在子包内创建auth.py、admin.py和blog.py模块组织代码。有一处你可能会感到奇怪,我们这里把views.py升级后的包命名为blueprints(蓝本)。事实上,你当然也可以命名为views,使用blueprints是因为我们将使用蓝本来组织视图。蓝本提供了更强大的组织能力,使我们能够在程序功能层面模块化程序,而不仅仅是代码组织层面。下面会详细介绍蓝本的概念。

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png