之前两章分别介绍了,如何对数据库进行初始化和对建立数据模型,并且都是在一个页面中实现,现在将初始化页面config.py.数据模型页面model.py,视图页面view.py三者进行分离,现在假设这三个脚本在一个文件夹下。
config.py
#coding:utf8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = 'mysql+pymysql://{0}:{1}@{2}/{3}?charset=utf8'
app.config["SQLALCHEMY_TRACK_MODIFICATION"] = True
app.config["SECRET_KEY"]="ZHANGSan"
app.debug = True
db = SQLAlchemy(app)
以上,其中{0}为数据库账号,{1}为数据库密码,{2}为数据库地址,{3}为数据库的库名(是库名不是表名)
model.py
from config import db
# 图片模型
class Pic(db.Model):
__tablename__ = 'xm_pic'
id = db.Column(db.Integer, primary_key=True) # 编号
pic_type = db.Column(db.String(30), unique=True) # 产品类型
pic_info = db.Column(db.String(30), unique=True) # 产品信息
pic_name = db.Column(db.String(100), unique=True) # 产品名称
pic_content = db.Column(db.String(100)) # 产品内容
gmt_create = db.Column(db.DateTime, unique=True) # 产生时间
gmt_modified = db.Column(db.DateTime, unique=True) # 更改时间
view.py
from model import Pic
from config import app,db
from flask import render_template
@app.route('/')
def index():
sql = 'select * from xm_pic'
items = list()
items = db.session.execute(sql)
informations = items
return render_template('index.html', information = informations)
我们在下一章中会讲解,information的数据如何展示在Index.html中