最近在用flask框架做一个python web项目,其中要连接数据库,所以总结如下:
如何用pycharm快速创建一个flask项目我就不详细说了,可以先创建虚拟环境,不过大部分的事pycharm都帮你做好了.flask作为一个轻量型的web框架还是挺灵活的,不管小型还是大型项目,都可以用这个框架来构建.
首先在命令行用pip安装或者在pycharm里面安装数据库连接依赖包flask-sqlalchemy,python3中已经不再支持MySQLdb模块,所以要安装pymysql(pip安装或者在pycharm里面安装),如果在python3安装mysql-python会出现一个错误,搜一下改一下一个文件的名字应该就能解决,不建议安装mysql-python.安装flask-sqlalchemy和pymysql就够了
然后见代码:
models.py
# coding=utf-8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
import pymysql
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost:3306/dbname?charset=utf8'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
db = SQLAlchemy(app) # 实例化
# 数据模型设计
# 会员数据模型
class User(db.Model):
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True) # 编号
name = db.Column(db.String(100), unique=True) # 昵称
pwd = db.Column(db.String(100)) # 密码
email = db.Column(db.String(30), unique=True) # 邮箱
phone = db.Column(db.String(11), unique=True) # 手机号码
info = db.Column(db.Text) # 个人简介
face = db.Column(db.String(255), unique=True) # 头像
addtime = db.Column(db.DateTime, index=True, default=datetime.utcnow) # 注册时间
uuid = db.Column(db.String(255), unique=True) # 唯一标志
userlogs = db.relationship('Userlog', backref='user') # 会员日志外键关联
comments = db.relationship('Commen