Flask-SQLAlchemy错误

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

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

  首先需要安装pip install PyMySQL

  然后mysql://root:[email protected]/TestBlog 改为mysql+pymysql://root:[email protected]/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:[email protected]/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‘,‘[email protected]‘)
    db.session.add(udata)
    db.session.commit()
    return jsonify(data)

if __name__ == ‘__main__‘:
    app.run()
时间: 2025-01-12 22:06:47

Flask-SQLAlchemy错误的相关文章

flask SQLAlchemy中一对多的关系实现

SQLAlchemy是Python中比较优秀的orm框架,在SQLAlchemy中定义了多种数据库表的对应关系, 其中一对多是一种比较常见的关系.利用flask sqlalchemy实现一对多的关系如下: 1. 建立数据库的模型 在本次试验中建立三个表: user, phone ,atttr.user 和phone, phone 和atttr均为一对多的关系.实现如下: #!/usr/bin/env python # -*- coding: utf-8 -*- from flask import

flask sqlalchemy实现分页功能

接触到了一个新的实现分页的功能,记录下来 第一种方法:() flask sqlalchemy里面包括分页查询首先记录一下此方法实现分页查询: Post.query.paginate(1,10)    #第一个参数指示返回第几页的内容,第二页的参数表示每页展示的对象数量 Post.query.paginate(2,10)   #表示展示第二页数据,展示的对象是11~20个对象 不过,这种分页查询和.first(),.all()不同的是:它返回的是一个pagination对象 需要在前端页面中添加.

Flask应用错误处理

目录 Flask 应用错误处理 错误日志工具 错误处理 注册 处理 日志 排除应用错误 有疑问时,请手动运行 使用调试器 参考 Flask 应用错误处理 应用出错,服务器出错.或早或晚,你会遇到产品出错.即使你的代码是百分百正确, 还是会时常看见出错.为什么?因为其他相关东西会出错.以下是一些在代码完全正确的 条件下服务器出错的情况: 客户端已经中断了请求,但应用还在读取数据. 数据库已经过载,无法处理查询. 文件系统没有空间. 硬盘完蛋了. 后台服务过载. 使用的库出现程序错误. 服务器与另一

Flask的错误日志处理和|ORM操作

flask有个很人性化的处理就是 你的错误的输出是可以通过错误日志来自定义  ,让你输入的错误不再是“大黄页”, 通过 errorhandler()来装饰函数之后你的所有的输入错误的函数你都会进入这个函数中,然后我没可以自定义错误日志的输出 errorhandler("报错响应码") @app.errorhandler(404) #当报错是404的时候就走这个函数 def handle_bad_request(e): # return 'bad request!', 400 retur

Flask SQLAlchemy & model

Flask-SQLAlchemy Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. 配置Flask-SQLAlchemy 示例: MySQL: mysql://username:[email protected]/database 定义模型 from sqlalchemy import Column, Integer, MetaData, VARCHAR from flask

flask SQLAlchemy 入门示例

#coding=utf-8 from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///D:/code/t/src/app.db' db = SQLAlchemy(app) class User(db.Model):     id = db.Column(db.Integer,

flask+sqlalchemy查改删

效果: main.py 1# coding: utf-8 from sqlalchemy import CheckConstraint, Column, Integer, Text, or_ from sqlalchemy.schema import FetchedValue from flask_sqlalchemy import SQLAlchemy from flask import Flask,url_for,redirect,render_template,request,flash,

Flask -SQLAlchemy 数据库一对一

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyfrom datetime import datetimeimport configapp = Flask(__name__)app.config.from_object(config)db = SQLAlchemy(app)class User(db.Model): __tablename__ = "user" id = db.Column(db.Integer

Flask SQLAlchemy 表字段默认值

在网上查到的SQLAlchemy设置字段默认值的方法都是类似如下方法: from sqlalchemy.sql.sqltypes import TIMESTAMP class Test(db.Model):     id = db.Column(db.Integer, primary_key = True)     name = db.Column(db.String(32))     create_date = db.Column(TIMESTAMP, default = datetime.d

flask SQLAlchemy pymysql 连接数据库

SQLite sqlite:///database.db MySQL mysql+pymysql://user:[email protected]:port/db_name Postgres postgresql+psycopg2://user:[email protected]:port/db_name MSSQL mssql+pyodbc://user:[email protected]_name Oracle oracle+cx_oracle://user:[email protected