1. 需求
畫了一個粗略的導(dǎo)圖,盡量實(shí)現(xiàn)圖中的所有功能吧。
主要分兩塊,一是后臺管理模塊,二是前臺顯示模塊。

Micro Blog Mind
2. 技術(shù)棧
- Python
- Flask
采用Flask作為web框架。其擴(kuò)展性極強(qiáng),輕量,插件非常多,并且網(wǎng)上的文檔很齊全,適合我這樣的新手來操作。
- Flask-Script
采用Flask-Script來代替原生啟動管理,可以方便的利用命令的形式來操作數(shù)據(jù)庫,運(yùn)行服務(wù)器。
- Flask-Migrate
數(shù)據(jù)庫遷移,更新工具。
- Flask-Bootstrap
用來渲染前端頁面。
- Flask-WTF
表單數(shù)據(jù)處理。同時,可以處理CSRF(Cross-Site Rrequest Forgery,跨站請求偽造),安全性好。
- Flask-SQLAlchemy
管理數(shù)據(jù)庫,提供ORM。
- Flask-Login
提供了一些通用的用戶管理。
- Blueprint
這個不像前面都是一些Flask的插件,而是直接在Flask框架內(nèi)實(shí)現(xiàn)的。用于實(shí)現(xiàn)應(yīng)用的模塊化,將后臺管理模塊和顯示模塊分離開。
- MySQL
MySQL可以用在大型的生產(chǎn)環(huán)境中,提供了很好用的命令行,并且我比較熟悉。 - Bootstrap
前端無能,Bootstrap模板能大大減少前端的開發(fā)工作。
以上就是一些會用到的東西。下面在具體開發(fā)中,會結(jié)合例子來講解所用技術(shù)的使用方法。
3. 項(xiàng)目文件架構(gòu)
建立文件夾如下(Windows的tree命令感覺有點(diǎn)丑):
D:\micro-blog>tree /F
卷 project 的文件夾 PATH 列表
D:.
│ config.py #存放一些配置,比如數(shù)據(jù)庫地址,log文件管理
│ manage.py #項(xiàng)目入口
│ README.md
│
└─app
│ models.py #ORM
│ __init__.py #初始化app
│
├─admin #admin藍(lán)圖文件夾
├─main #main藍(lán)圖文件夾
└─templates #存放靜態(tài)文件,比如前端模板和js