虽然显示了已经安装上,但是就是用import导入的时候显示找不到module,后来在虚拟环境下又用pip安装了才可以,具体大家可以Google安装方法。这里给大家提供个思路,yum安装识别不了,可以尝试pip。
2,配置数据库
flask 配置MySQL数据库与sqlite不同,首先你要先自己创建好数据库,有一个数据名称,才能用,而sqlite没有数据库运行SQLAlchemy时会自动给你创建数据库,所以配置数据库之前,你要用其他方法先建一个空的数据库,推荐大家用phpMyAdmin(PS:后来又发现了一个更好用的工具:安装简单操作界面是中文的,就是激活稍微麻烦了点,Navicat for MySQL,强烈安利初学者使用),博主是根据以下链接安装的,亲测靠谱:
http://blog.sina.com.cn/s/blog_70545bad0101khx3.html
这里我提前用phpMyAdmin建了一个名为text1的数据库,然后在hello.py文件中写代码:
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(name)
app.config['SECRET_KEY'] ='hard to guess'
app.config['SQLALCHEMY_DATABASE_URI']='mysql://root:密码@localhost:3306/text1' #这里登陆的是root用户,要填上自己的密码,MySQL的默认端口是3306,填上之前创建的数据库名text1
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True #设置这一项是每次请求结束后都会自动提交数据库中的变动
db = SQLAlchemy(app) #实例化
3,定义模型,建立关系:
hello.py 中
class Role(db.Model): __tablename__ = 'roles' #定义表名
id = db.Column(db.Integer,primary_key=True)#定义列对象
name = db.Column(db.String(64),unique=True)
user = db.relationship('User',backref='role',lazy='dynamic')#建立两表之间的关系
def __repr__(self):
return ' '.format(self.name)
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer,primary_key = True)
username = db.Column(db.String(64),unique=True,index=True)
role_id = db.Column(db.Integer,db.ForeignKey('roles.id'))