Flask实现轻博客(二):需求和技术栈

1. 需求


画了一个粗略的导图,尽量实现图中的所有功能吧。
主要分两块,一是后台管理模块,二是前台显示模块。


Flask实现轻博客(二):需求和技术栈_第1张图片
Micro Blog Mind

2. 技术栈


  • Python
  • Flask
    采用Flask作为web框架。其扩展性极强,轻量,插件非常多,并且网上的文档很齐全,适合我这样的新手来操作。
-  Flask-Script

采用Flask-Script来代替原生启动管理,可以方便的利用命令的形式来操作数据库,运行服务器。
- Flask-Migrate
数据库迁移,更新工具。
- Flask-Bootstrap
用来渲染前端页面。
- Flask-WTF
表单数据处理。同时,可以处理CSRF(Cross-Site Rrequest Forgery,跨站请求伪造),安全性好。
- Flask-SQLAlchemy
管理数据库,提供ORM。
- Flask-Login
提供了一些通用的用户管理。
- Blueprint
这个不像前面都是一些Flask的插件,而是直接在Flask框架内实现的。用于实现应用的模块化,将后台管理模块和显示模块分离开。

  • MySQL
    MySQL可以用在大型的生产环境中,提供了很好用的命令行,并且我比较熟悉。
  • Bootstrap
    前端无能,Bootstrap模板能大大减少前端的开发工作。

以上就是一些会用到的东西。下面在具体开发中,会结合例子来讲解所用技术的使用方法。

3. 项目文件架构


建立文件夹如下(Windows的tree命令感觉有点丑):

D:\micro-blog>tree /F

卷 project 的文件夹 PATH 列表
D:.
│  config.py    #存放一些配置,比如数据库地址,log文件管理
│  manage.py    #项目入口
│  README.md
│
└─app
    │  models.py   #ORM
    │  __init__.py     #初始化app
    │
    ├─admin      #admin蓝图文件夹
    ├─main      #main蓝图文件夹
    └─templates        #存放静态文件,比如前端模板和js

你可能感兴趣的:(Flask实现轻博客(二):需求和技术栈)