赞
踩
用flask实现一个前后端分离的学习的测试项目
目录组织结构:
app.py
- from flask import Flask
-
- from extension import db
- from models import Book
-
-
- app = Flask(__name__)
-
- app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///books.sqlite'
- app.config['SQLAlCHEMY_TRACK_MODIFICATIONS']=False
- db.init_app(app)
-
- @app.route('/')
- def hello_world(): # put application's code here
- return 'Hello World!'
-
-
- @app.route("/login")
- def login():
- return "login"
-
- #生成数据库文件,在程序目录下可以找bools。sqlite这个数据库
- #然后再终端中运行‘flask create ’这个命令,就是可以最终生成数据库了
- #如果提示报错,多生成几次
-
- @app.cli.command()
- def create():
- db.drop_all()
- db.create_all()
- Book.init_db()
-
-
- if __name__ == '__main__':
- app.run()
extension.py
- from flask_sqlalchemy import SQLAlchemy
-
- db=SQLAlchemy()
-
-
- # 所有的其他扩展 文件都是在这里编写
-
models.py
- from extension import db
-
-
- class Book(db.Model):
- __tablename__='book'
- id=db.Column(db.Integer,primary_key=True,autoincrement=True)
- book_number=db.Column(db.String(255),nullable=False)
- book_name = db.Column(db.String(255), nullable=False)
- book_type = db.Column(db.String(255), nullable=False)
- book_price = db.Column(db.Float, nullable=False)
- auther = db.Column(db.String(255))
- book_publicsher=db.Column(db.String(255))
-
-
- # 初始化数据,制作数据
- @staticmethod
- def init_db():
- res=[
- (1,'001','猪儿八级天宫','小说',100,'猪八戒','xx出版'),
- (2,'002','孙悟空天宫','小说',000,'孙悟空','xx出版'),
- ]
-
- for ret in res:
- book=Book()
- book.id=ret[0]
- book.book_number=ret[1]
- book.book_name=ret[2]
- book.book_type=ret[3]
- book.book_price=ret[4]
- book.auther=ret[5]
- book.book_publicsher=ret[6]
-
- db.session.add(book)
-
- db.session.commit()
-
上述代码完成后再终端中运行‘flask create’ 命令,然后就是可以看到生成的数据库文件了
生成的数据库文件
用navicat打开,查看是否存在数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。