小编pis*_*rzp的帖子

将输出序列化为JSON - ValueError:检测到循环引用

我正在尝试将我的mysql查询结果输出到JSON.我有序列化datetime.datetime字段的问题,所以我写了一个小函数来做到这一点:

def date_handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()
    else:
        return obj
Run Code Online (Sandbox Code Playgroud)

然后在主代码中我刚刚运行:

products_json = []
for code in best_matching_codes:
    cur = db.cursor()
    query = "SELECT * FROM %s WHERE code LIKE '%s'" % (PRODUCTS_TABLE_NAME, product_code)
    cur.execute(query)
    columns = [desc[0] for desc in cur.description]
    rows = cur.fetchall()
    for row in rows:
        products_json.append(dict((k,v) for k,v in zip(columns,row)))   

return json.dumps(products_json, default = date_handler)
Run Code Online (Sandbox Code Playgroud)

但是,由于我写了date_handler函数,我得到"ValueError:检测到循环引用"

127.0.0.1 - - [10/Jan/2013 00:42:18] "GET /1/product?code=9571%2F702 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1701, …
Run Code Online (Sandbox Code Playgroud)

python json python-2.7

33
推荐指数
2
解决办法
3万
查看次数

在Python中跨多个文件连接MySQL的最有效方法是什么?

我有一个分布在多个文件中的 Python 应用程序,其中有一个主应用程序(我们称之为 main.py)以及由 main.py 导入的几个模块(我们称之为 module_a.py 和 module_b.py)

跨所有这些文件连接到 MySQL 数据库的最有效方法是什么?

我应该创建一个单独的模块database.py,连接到该模块中的数据库,并将该模块导入到每个文件中,然后使用:

//database.py
db=MySQLdb.connect(host="localhost",user="xxx",passwd="yyy",db="zzz")

//main.py
import database
cur = database.db.cursor()

//module_a.py
import database
cur = database.db.cursor()
Run Code Online (Sandbox Code Playgroud)

或者我应该分别连接到每个文件中的数据库吗?

或者也许还有其他选择,甚至更适合此目的?

python mysql

5
推荐指数
1
解决办法
1085
查看次数

使用 apache mod_wsgi 部署基于 Flask 的应用程序时的 MySQL 连接

我正在尝试在服务器上部署基于烧瓶的应用程序,但是我遇到了问题。基本处理程序似乎工作正常,但是我连接到 MySQL 的处理程序给了我错误 500。

我使用 apache 和 mod_wsgi 在 Debian Linux 上以用户 Flask 的身份部署此应用程序。我以该用户身份登录并尝试在不同端口上手动运行该应用程序,然后它工作得很好。

我检查了烧瓶日志,这是我看到的错误:

[Sun Jan 13 14:33:27 2013] [error] [20130113-14:33PM] [susyapi] [ERROR] Exception on /1/product [GET]
[Sun Jan 13 14:33:27 2013] [error] Traceback (most recent call last):
[Sun Jan 13 14:33:27 2013] [error]   File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1687, in wsgi_app
[Sun Jan 13 14:33:27 2013] [error]     response = self.full_dispatch_request()
[Sun Jan 13 14:33:27 2013] [error]   File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1360, in full_dispatch_request
[Sun Jan 13 14:33:27 2013] [error]     rv = …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi flask

1
推荐指数
1
解决办法
6717
查看次数

标签 统计

python ×3

apache ×1

flask ×1

json ×1

mod-wsgi ×1

mysql ×1

python-2.7 ×1