一、目录结构
二、Mysql创建数据库
create database tasktodo DEFAULT CHARSET utf8;#这里加DEFAULT CHARSET utf8是为了能够输入显示中文
创建完成后,在pycharm中Database创建数据库连接
可以看到创建的数据库
三、config.py配置文件
详细的配置信息 见 http://www.pythondoc.com/flask-sqlalchemy/config.html
SQLALCHEMY_DATABASE_URI = 'mysql://admin:1234@192.168.19.128/tasktodo'
#配置使用的数据库URL,配置MySQL的URL格式
SQLALCHEMY_TRACK_MODIFICATIONS = True
#如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
四、myapp/init.py文件
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_script import Manager
import pymysql
from flask_bootstrap import Bootstrap
pymysql.install_as_MySQLdb()
app: Flask=Flask(__name__)
app.debug=True
app.config.from_pyfile('../config.py')
bootstrap=Bootstrap(app)
db=SQLAlchemy(app)
manager = Manager(app)
涉及到的知识点:
Flask manager模块:https://www.jianshu.com/p/8148e81b42de
Flask_bootstrap:https://blog.csdn.net/sinat_29315627/article/details/72879366
Flask_sqlalchemy:https://www.jianshu.com/p/b729e84fae4f
五、run.py
from myapp import manager
if __name__ =='__main__':
manager.run()
六、views.py:定义视图函数
from myapp import app,db
from flask import render_template, flash, redirect, url_for, session,request
@app.route('/')
def index():
return 'index'
七、定义admin蓝图
admin/init.py:
# admin 目录:包含管理员的业务逻辑的路由和视图
# __init__.py 对Admin业务逻辑程序的初始化操作
# Blueprint 蓝图
from flask import Blueprint
# 蓝图的声明
admin = Blueprint('admin', __name__)
from . import views
admin/views.py:
from . import admin
# 导入admin,定义路由时使用
@admin.route('/admin')
def showadmin():
return 'admin page!'