安装、创建目录及初始化
安装
1. pip install flask
2. pip install flask-sqlalchemy
3. pip install flask-wtf
4. pip install pymysql
注:pymysql安装完成后需要在connections.py文件中找到charset设置其值为utf8
5. pip install wtforms
6. pip install requests
创建目录结构
project 应用部署目录
├─app #应用目录
│ ├─index/admin #模块目录 一个应用下可以有多个模块
│ │ ├─controller #控制器目录
│ │ ├─model #模型目录
│ │ ├─forms.py #表单处理文件
│ │ └─ __init__.py #模块初始化文件
│ ├─static #静态资源目录
│ │ └─index/admin #对应应用下面的模块
│ ├─templates #模板文件目录
│ │ └─index/admin #对应应用下面的模块
│ └─ __init__.py #应用初始化文件
├─config.py #配置文件
└─manage.py #应用启动文件
项目初始化
- 在app下的init.py文件中初始化项目
from flask import Flask
from flask import render_template
app = Flask(__name__)
#引入模块里的蓝图对象: from app.模块目录 import 定义的模块名称
from app.index import index as index_blueprint
from app.admin import admin as admin_blueprint
#注册蓝图
app.register_blueprint(index_blueprint)
app.register_blueprint(admin_blueprint, url_prefix="/admin") # url_prefix指定url:xxx.com/admin
#当请求出现返回404错误时调用此方法,跳转到指定模板文件
@app.errorhandler(404)
def page_not_found(error):
return render_template('index/404.html'), 404
- 模块初始化
在每个模块的初始化文件中引入蓝图,并引入模块下的控制器
from flask import Blueprint
index = Blueprint("index", __name__) # 模块名称
import app.index.controller
- 在控制器初始化文件中(controller下的
__init__.py
)引入所有需要的控制器
from . import Index