安装、创建目录及初始化

python flask
创建于:2019年05月27日

安装


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 #应用启动文件

项目初始化

  1. 在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
  1. 模块初始化

在每个模块的初始化文件中引入蓝图,并引入模块下的控制器

from flask import Blueprint
index = Blueprint("index", __name__) # 模块名称
import app.index.controller
  1. 在控制器初始化文件中(controller下的__init__.py)引入所有需要的控制器
from . import Index