初始化项目
app.py
from flask import Flask
from settings import Config, db
app = Flask(__name__)
app.config.from_object(Config)
db.init_app(app)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
settings.py
# 盛放所有的配置信息
from flask_sqlalchemy import SQLAlchemy
# 创建flask-sqlalchemy的实例对象
db = SQLAlchemy()
class Config:
# 开启调试模式
DEBUG = False
# 配饰flask-sqlalchemy数据库的链接地址
# '数据库的类型://用户名:密码@数据库的地址:端口号/数据库的名字' 注意点 这里使用的标点符号都是英文的
SQLALCHEMY_DATABASE_URI = 'mysql://root:123456@127.0.0.1:3306/beijing_house_data'
# 压制警告信息
SQLALCHEMY_TRACK_MODIFICATIONS = True
models.py
from settings import db
# soufang 表的模型类
class House(db.Model):
# 定义表名
__tablename__ = 'soufang'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
rooms = db.Column(db.String(100))
area = db.Column(db.String(100))
price = db.Column(db.String(100))
direction = db.Column(db.String(100))
rent_type = db.Column(db.String(100))
region = db.Column(db.String(100))
block = db.Column(db.String(100))
address = db.Column(db.String(100))
traffic = db.Column(db.String(100))
publish_time = db.Column(db.Integer)
sheshi = db.Column(db.TEXT)
liangdian = db.Column(db.TEXT)
peitao = db.Column(db.TEXT)
chuxing = db.Column(db.TEXT)
liulanliang = db.Column(db.Integer)
people_name = db.Column(db.String(100))
phone_num = db.Column(db.String(100))
house_num = db.Column(db.String(100))
# 重写__repr__方法, 方便我们查看对象的输出内容
def __repr__(self):
return 'House: %s, %s' % (self.address, self.id)
# tuijian表的模型类
class Tuijian(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer)
house_id = db.Column(db.Integer)
title = db.Column(db.String(100))
address = db.Column(db.String(100))
block = db.Column(db.String(100))
score = db.Column(db.Integer)
# userinfo表的模型类
class User(db.Model):
__tablename__ = 'userinfo'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
password = db.Column(db.String(100))
email = db.Column(db.String(100))
addr = db.Column(db.String(100))
collect_id = db.Column(db.String(250))
seen_id = db.Column(db.String(250))
# 重写__repr__方法, 方便我们查看对象的输出内容
def