使用Flask搭建一个校园论坛-1

Flask·缘起

在上家公司的时候,一次偶然的机会上级让我使用webpy框架开发一个网页版的计算工具,具体设计到一些控制算法的计算。当时没有接触过web开发的项目。在那之前都是使用PyQt5去做一些桌面应用程序的开发。

一开始搜索webpy的资料的时候,发现资料十分的匮乏,然后还惊奇的发现该框架的作者已经逝世了(震惊且惋惜)。然后搜索其他的开发框架,就这样我发现Flask这个轻量级web框架了。

整一个教程

使用Flask也有一年多的时间,看了很多书籍教程,让我最受益匪浅的是李辉出版本的那本web开发教程。在此期间也遇到了很多问题,作为CCCV型的程序员的我,那某D某G是必须会的。然后我也使用Flask搭建一个个人博客网站,很多我在开发过程中遇到的问题都记录在里面了。

虽然也写了一些博客,但是终归没有一个系列的教程,就这一直想着出一个系列的教程。一来可以学习到一些新知识或者巩固旧知识,二来可以锻炼自己的写作叙事水平以及逻辑思维能力。正当我思考着用什么作为这篇系列教程的基础时,想到了一句话,遇事不决,先来一个CMS~!于是乎,我就打算已bbs来作为本系列教程内容了!

借(chao)鉴(xi)

现在网络上有很多形形色色的论坛,论坛的功能也大有不同,在这里我们选择借鉴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应用时,虽然我们可以在一个文件中写完所有的功能,但是当我们的项目越来越大,代码量越来越多的时候,这样的方式我们就很难管理了。合适的项目组织架构可以使我们更加好的管理代码,并且层次条理十分清晰,本项目的组织如下:

我们可以在我们项目的根目录中按照上图的组织架构,新建好对应的文件夹。

  • bbs
    项目代码存放目录
    • blueprint
      存放蓝图模块包
      • frontend
        前端蓝图
      • backend
        后端管理界面蓝图
    • static
      静态文件存放目录,主要是用来存放css、js还有一些静态资源的目录
    • templates
      存放html文件目录
      • frontend
        前端html文件
      • backend
        后端html文件
  • resources
    存放用户资源文件
    • avatars
      存放用户头像
    • images
      用户上传的图片,包括帖子、评论等

至此,本项目前期的准备工作都已做完了,下一节开始,我们就开始真正的开发流程了。

感兴趣的同学可以关注我的博客网站哦,会不定期更新一些程序员相关的博客哦!

http://2dogz.cnBlogin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值