为了了解全栈知识,以及为了更多的学习一些后端方面的知识,而不仅仅局限于前端的方面,将在视频中学习到的一些知识整理成文章,方便日后查阅,回顾。
- flask 光速入门感受
- 一个行之有效的框架展示及从0开始完成一个网站的登陆和注册功能
- flask 中如何处理路由
- flask 中如何与数据库交互(M)
- flask 中view的编写(V)
- flask 中controller层编写(C)
1. Flask 入门体验 -- hello world
// 打开终端
mkdir part-1
cd part-1
touch index.py
touch requirement.txt
# 在requirement.txt 写入 Flask 然后下载Flask
pip install -r requirement.txt
# 在Flask中 体验hello world
from flask import Flask
# 初始化一个Falsk实例
app = Flask(__name__)
@app.route("/")
def hello():
return 'hello world‘
app.run(host='127.0.0.1', port=3000, debug=True)
这样,当请求127.0.0.1的时候,页面就会出现了hello world。光速体验一波flask,但是认真理解一下,首先初始化一个flask对象,@app.route则是引入路由装饰器,然后定义一个方法,这个方法在请求到根节点路由时会自动执行。最后在本地的3000端口启动该服务。
2. 一个行之有效的框架搭建
# 框架骨架展示
common
-- models # 用来存放与数据库中的表相关联的文件
-- xxx.py
-- libs # 存放公共类
config # 用来存放本地环境和生产环境的变量
-- baseConfig.py
-- localConfig.py
-- productionConfig.py
controllers # MVC 中控制层的文件
application.py # 全局的变量类
www.py # 路由的核心文件
manager.py # 入口文件
requirement.txt # python 的扩展文件 用来安装依赖
static # 用来存放静态资源
-- js
-- css
-- img
templates # 模版文件即html结合flask的一些语法文件
-- common # 存放一些公共页面
-- layout.html
-- index.html
一点一点开始搭建。如下图所示,框架搭建的目的是能够形成一个首页,登陆注册页之间形成一个完整的闭环。
1.首先 在入口文件创建实例化对象
# application.py 全局变量类
from flask import Flask
app = Flask(__name__)
# manager.py
from application import app
app.run(host='127.0.0.1', port=3000, DEBUG=True)
# 此时 已经可以通过python manager.py 执行该文件启动一个web服务器 但没有任何返回
2.构建一个路由管理对象即处理 www.py文件
# 此时 引入一个新的名词 叫做蓝图 flask 通过蓝图Blueprint来管理注册这个整个应用的路由,
# 可以不需要,但是更规范
cd controllers
touch index.py member.py
# index.py
from flask import Blueprint
# 可以利用蓝图的前缀 然后将页面层次区分开
# 1. 首先实例化一个index_page
index_page = Blueprint( "index_page", __name__ )
# 2. 使用实例的装饰器
# 即当请求到对应路径时 会自动触发相应方法
@index_page.route('/')
def index():
return 'welcome to index page'
# member.py 是控制登陆和注册页面的路由 同上
然后在www.py文件中注册路由
# www.py
from controllers.index import index_page
from controllers.member import member_page
from application import app
app.register_blueprint( index_page, url_prefix='/')
app.register_blueprint( member_page, url_prefix='/member‘)
最后在manager.py(启动文件中)引入路由ÿ