欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

flask补充笔记

程序员文章站 2022-07-12 17:27:20
...

在项目中创建一个名为cofing.py的文件

# -*- coding: utf-8 -*-

import os

#设置debug方式

DEBUG=True

#设置session

SECRET_KEY=os.urandom(24)

 

#设置数据库相关信息

DIALECT='mysql'

DRIVER='mysqldb'

USERNAME='root'

PASSWORD='chenzhening0623'

HOST='127.0.0.1'

PORT='3306'

DATABASE='zlktqa_demo2'

SQLALCHEMY_DATABASE_URI="{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(

    DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE

)

SQLALCHEMY_TRACK_MODIFICATIONS=False

然后创建数据库

create database 数据库名 charset utf8;

 

在主app文件中导入cofing.py文件如下

# -*- coding: utf-8 -*-

from flask import Flask

import cofing

app = Flask(__name__)

app.config.from_object(cofing)

 

@app.route('/')

def hello_world():

    return 'Hello World!'

 

 

if __name__ == '__main__':

    app.run()

创建一个名为ests.py的文件,用来存储db相关数据内容

 

from flask_sqlalchemy import SQLAlchemy

db=SQLAlchemy()

 

创建一个名为模型的文件models.py

 

#用于创建模型

# -*- coding: utf-8 -*-

from ests import db

 

#创建模型

class User(db.Model):

    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

    telphone = db.Column(db.String(11), nullable=False)

    username = db.Column(db.String(50), nullable=False)

    password = db.Column(db.String(100), nullable=False)

 

 

创建一个命令名为manage.py的文件(将models.py中的模型映射到这个文件里面)

# -*- coding: utf-8 -*-

from flask_script import Manager

from flask_migrate import  Migrate,MigrateCommand

from untitled import app

from ests import db

from models import User

 

 

manager=Manager(app)

migrate=Migrate(app,db) #绑定

manager.add_command('db',MigrateCommand) #迁移

 

if __name__=="__main__":

    manager.run()

 

在cmd中使用如下命令

python manage.py db init

会在项目中生成 一个名为migrations文件夹(初始化文件用的)

python manage.py db migrate #进行迁移

 

python manage.py db upgrade #真正映射到数据库中

 

 

装饰器详解

 

# -*- coding: utf-8 -*-

from  functools import wraps

def my_fun(func):

    @wraps(func)

    def wrap(*args,**kw):

        return func(*args,**kw)

    return wrap

@my_fun

def fun1():

    pass

 

g对象

g.key=value

钩子函数

before_request

原始地址:http://www.cnblogs.com/mhxy13867806343/p/7574034.html