Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask SQLAlchemy连接到MySQL数据库 设置和代码:_Python_Mysql_Angularjs_Flask_Sqlalchemy - Fatal编程技术网

Python Flask SQLAlchemy连接到MySQL数据库 设置和代码:

Python Flask SQLAlchemy连接到MySQL数据库 设置和代码:,python,mysql,angularjs,flask,sqlalchemy,Python,Mysql,Angularjs,Flask,Sqlalchemy,我正在使用AngularJS前端构建一个基本的Flask应用程序,目前我需要连接到我与Godaddy phpmyadmin托管的MySQL数据库 这是我的\uuuuu init\uuuuuuy.py from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy # Create instnace called app app = Flask(__name__) app.config['SQLAlchemy_DATABAS

我正在使用AngularJS前端构建一个基本的Flask应用程序,目前我需要连接到我与Godaddy phpmyadmin托管的MySQL数据库

这是我的
\uuuuu init\uuuuuuy.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

# Create instnace called app
app = Flask(__name__)
app.config['SQLAlchemy_DATABASE_URI'] = 'mysql://username:password#@xxxxxx.hostedresource.com/dbname'

# Create SQLAlchemy object
db = SQLAlchemy(app)
# ...
from app import app, db

class UsersPy(db.Model):

  __tablename__ = "userspy"

  id = db.Column(db.Integer, primary_key=True)
  username = db.Column(db.String, nullable=False)
  password = db.Column(db.String, nullable=False)

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

  def __repr__(self):
    return '<title {}'.format(self.username)
这是我的
models.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

# Create instnace called app
app = Flask(__name__)
app.config['SQLAlchemy_DATABASE_URI'] = 'mysql://username:password#@xxxxxx.hostedresource.com/dbname'

# Create SQLAlchemy object
db = SQLAlchemy(app)
# ...
from app import app, db

class UsersPy(db.Model):

  __tablename__ = "userspy"

  id = db.Column(db.Integer, primary_key=True)
  username = db.Column(db.String, nullable=False)
  password = db.Column(db.String, nullable=False)

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

  def __repr__(self):
    return '<title {}'.format(self.username)
问题:
所有这些都可以很好地工作,当您访问/testdb/位置时,用户被“创建”并以JSON格式显示,但是使用Godaddy托管的实际数据库没有更新,因此不能建立真正的连接,或者由于某种原因连接失败。我已经创建了userspy数据库表,但是add()和commit()函数实际上并没有向数据库中添加用户。我不知道如何巩固SQLAlchemy和MySQL数据库之间的联系。非常感谢您的帮助。

调试的第一步是在应用程序配置中将
SQLALCHEMY\u ECHO
设置为
True
。这将导致打印SQLAlchemy正在执行的实际MySQL数据库语句


另外,值得注意的是,
SQLAlchemy\u DATABASE\u URI
SQLAlchemy\u DATABASE\u URI
不同,后者规定了配置键的位置。

好的,我这样做了,毫不奇怪,它引发了一个导入错误:
没有名为'MySQLdb'的模块。
。这显然是Flask SQLAlchemy需要安装和导入的内容,但是MySQLdb模块还不能用于我正在使用的Python3.x版本,这意味着我需要使用Python2.x来成功地测试数据库连接。我将开始测试,然后继续调试。您可以通过更改URI来选择使用不同的MySQL连接器。例如,使用格式为
mysql+pymysql://:@/[?]
的URI将使用支持Python3的pymysql。看见