Flask主要依赖werkzeng和jinja2模板。
werkzeng提供route,debug和web服务,jinja2模板提供网页前端展示功能。
bootstrap是twitter的一个开源框架,它提供的用户界面的组件可以方便地在flask中复用。
表现层状态转移(Representational State Transfer,REST)架构
资源是 REST 架构方式的核心概念。在 REST 架构中,资源是程序中你要着重关注的事物。
开发完一个项目之后,可以用
pip freeze > requirements.txt
来把开发中调用的依赖库dump到一个文件。
当部署时,
pip install -r requirements.txt
就能一下子把所依赖的库装好。
这个博客具备了用户认证,表单校验,用户权限数据库管理,关注关系设定,博客发布,个人主页等功能。
对于每一个功能,首先是从main/views.py下查找对应的路由,然后经过表单验证之后,跳转相应的页面。
这是蓝图blueprint,蓝图的作用是简化路由:
from flask import Blueprint
main = Blueprint('main', __name__)
from . import views, errors
为了使用蓝图,需要采用工厂模式来推迟实例化app:
def create_app(config_name='default'):
app = Flask(__name__)