赞
踩
在上家公司的时候,一次偶然的机会上级让我使用webpy
框架开发一个网页版的计算工具,具体设计到一些控制算法的计算。当时没有接触过web开发的项目。在那之前都是使用PyQt5去做一些桌面应用程序的开发。
一开始搜索webpy
的资料的时候,发现资料十分的匮乏,然后还惊奇的发现该框架的作者已经逝世了(震惊且惋惜)。然后搜索其他的开发框架,就这样我发现Flask
这个轻量级web框架了。
使用Flask也有一年多的时间,看了很多书籍教程,让我最受益匪浅的是李辉出版本的那本web开发教程。在此期间也遇到了很多问题,作为CCCV
型的程序员的我,那某D某G
是必须会的。然后我也使用Flask搭建一个个人博客网站,很多我在开发过程中遇到的问题都记录在里面了。
虽然也写了一些博客,但是终归没有一个系列的教程,就这一直想着出一个系列的教程。一来可以学习到一些新知识或者巩固旧知识,二来可以锻炼自己的写作叙事水平以及逻辑思维能力。正当我思考着用什么作为这篇系列教程的基础时,想到了一句话,遇事不决,先来一个CMS~
!于是乎,我就打算已bbs
来作为本系列教程内容了!
现在网络上有很多形形色色的论坛,论坛的功能也大有不同,在这里我们选择借鉴v2ex以及hupu的功能以及大致页面布局方式。
经过深思熟虑
之后,大致功能如下:
本项目采用的Python3.6+Flask1.1.2+Bootstrap4.5
进行开发的。
找一个你想要存放代码的地方新建一个名为university-bbs
的文件夹,当然名字你也可以按照你自己的想法来取,然后在根目录执行如下命令
python3 -m venv venv
这时候我们的本地虚拟环境就创建完成了,然后我们使用如下命令激活虚拟环境。
source venv/bin/activate
为什么要创建虚拟环境?
因为Python的版本非常的多,而且每个第三方的库的版本也十分的多。我们A项目可能依赖的环境是foo 1.x版本,而B项目依赖的环境是foo 3.x版本,那么我们如果让A/B两个项目同事使用一个全局环境,那么肯定是行不通的。这时候我们就可以对每个项目创建一个虚拟环境来运行,各自项目对应运行在各自的虚拟环境中,互不冲突。
Python社区繁荣昌盛,我们的包管理工具非常的多。比如pipenv、virtualenv、poetry等等。感兴趣的可以去了解一下,特别是poetry,当下十分流行。在本项目中我们使用Python3内置的venv模块以及pip来管理虚拟环境以及包。
在开发Flask应用时,虽然我们可以在一个文件中写完所有的功能,但是当我们的项目越来越大,代码量越来越多的时候,这样的方式我们就很难管理了。合适的项目组织架构可以使我们更加好的管理代码,并且层次条理十分清晰,本项目的组织如下:
我们可以在我们项目的根目录中按照上图的组织架构,新建好对应的文件夹。
至此,本项目前期的准备工作都已做完了,下一节开始,我们就开始真正的开发流程了。
感兴趣的同学可以关注我的博客网站哦,会不定期更新一些程序员相关的博客哦!
http://2dogz.cnBlogin
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。