Flask-SQLAlchemy错误


 

感谢,http://www.zhihu.com/question/29719547

  根据《Flask web开发...》这本书上操作连接数据一直有问题 ”No module named 'MySQLdb'“

  首先需要安装pip install PyMySQL

  然后mysql://root:123456@localhost/TestBlog 改为mysql+pymysql://root:123456@localhost/TestBlog

  下面是我测试通过的代码

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask import Response
from flask import json, jsonify

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost/TestBlog'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)

class User(db.Model):
    __tablename__ = 't_users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    password = db.Column(db.String(100))
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, password, email):
        self.username = username
        self.password = password
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username


@app.route('/')
def hello_world():
    # me = User('zxj')
    # db.session.add(me)
    return '{"name":"zxj"}'

@app.route('/register', methods = ['POST'])
def register():
    data = {
        'username': '张先生',
        'userID': 1
    }
    # js = json.dumps(data)
    # resp = Response(js, status=200, mimetype='application/json')
    udata = User('admin','password','admin@admin.com')
    db.session.add(udata)
    db.session.commit()
    return jsonify(data)

if __name__ == '__main__':
    app.run()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM