这个问题在这里已有答案:
我想连接到sqlite数据库。如果数据库文件驻留在sqlite3.connect("PATH")
中,如何修改app_name/data/database_file.db
语句
我尝试了很多变化,但都导致内部服务器错误500。
我当前的代码看起来像这样(它只是我用于测试的虚拟代码)
from flask import render_template,request,g
from app import app
import sqlite3
import os
@app.before_request
def before_request():
g.db = sqlite3.connect(os.path.join(os.environ.get('OPENSHIFT_DATA_DIR'), 'torrents_small.db'))
@app.teardown_request
def close_connection(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
@app.route('/')
def index():
cur = g.db.cursor()
cur.execute("select * from torrents_small")
return "hello"
您是否在没有连接到数据库的情况下尝试了代码以查看是否导致您的500.其他事情是Flask默认吞下异常
此示例显示如何让Flask显示异常
https://github.com/thesteve0/openshift-mongo-flask-example/blob/master/wsgi/myflaskapp.py