flask执行流程


1.在项目目录下__init__.py编辑:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

#包含了SQLAlchemy相关的所有操作
db = SQLAlchemy()

def create_app():
    app = Flask(__name__)
    app.config.from_object('settings.DevelopmentConfig')
    db.init_app(app)

    return app

2.定义一个views文件夹,创建一个蓝图对象,并且定义路由信息

from flask import blueprints
idx = blueprints.Blueprint('idx',__name__)

@dix.route(/index’)
def index():
	return 'xxx'

3.注册蓝图

进入项目目录下的__ini__.py,在函数create_app编辑,将蓝图注册到app中

from xx import idx
app.register_blueprint(idx)

4.定义模板

① 在视图函数所在目录下创建templates文件夹,在此文件夹创建html文件
② 在视图中渲染模板

from flask import blueprints,render_template,blueprints

idx = blueprints.Blueprint('idx',__name__)

@dix.route(/index’)
def index():
	context = {
		'key1'value1,
		'key2'value2,
		'key3'value3,
			}
	return render_templates('xxx.html', **context)

5.创建配置文件

① 在视图目录下创建settings.py,创建如下内容:

class BaseConfig(object):
    # SESSION_TYPE = 'redis'  # session类型为redis
    # SESSION_KEY_PREFIX = 'session:'  # 保存到session中的值的前缀
    # SESSION_PERMANENT = True  # 如果设置为False,则关闭浏览器session就失效。
    # SESSION_USE_SIGNER = False  # 是否对发送到浏览器上 session:cookie值进行加密

    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/s8day130db?charset=utf8"
    SQLALCHEMY_POOL_SIZE = 5
    SQLALCHEMY_POOL_TIMEOUT = 30
    SQLALCHEMY_POOL_RECYCLE = -1

    # 追踪对象的修改并且发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    SECRET_KEY = "sadfasdf"  # 设置session时使用
    

class ProductionConfig(BaseConfig):
    pass


class DevelopmentConfig(BaseConfig):
    DEBUG = True


class TestingConfig(BaseConfig):
    pass

② 进入项目目录下的__ini__.py,在函数create_app编辑,将配置注册到app中

app.config.from_object(“settings.DevelopmentConfig”)

6.定义模型

from sqlalchemy import Column, Integer, String, UniqueConstraint, Index,DateTime,ForeignKey
from s8day130_pro import db


class Users(db.Model):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True,autoincrement=True)
    name = Column(String(32),nullable=False,unique=True)
    pwd = Column(String(32),nullable=False)

7.在当前目录下创建manage.py

from xxx import create_app,db
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand


app = create_app()
manager = Manager(app)

#创建数据库迁移
Migrate(app, db)
manager.add_command('xxx', MigrateCommand)


if __name__ == '__main__':
    manager.run()

8.执行数据库迁移

进入终端manage.py文件目录下执行

python manage.py xxx init
python manage.py xxx migrate # makemigrations
python manage.py xxx upgrade # migrate

9.运行flask

python manage.py runserver
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值