【问题标题】:Using sqlite3 for deploying flask application using openshift [duplicate]使用 sqlite3 使用 openshift 部署烧瓶应用程序 [重复]
【发布时间】:2015-01-20 12:37:59
【问题描述】:

我想连接到一个 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"

【问题讨论】:

    标签: python-2.7 flask openshift


    【解决方案1】:

    你有没有在不连接数据库的情况下尝试过你的代码,看看这是否会导致你的 500。另一件事是 Flask 默认会吞下异常

    这个例子展示了如何让 Flask 显示异常

    https://github.com/thesteve0/openshift-mongo-flask-example/blob/master/wsgi/myflaskapp.py

    【讨论】:

    • 是的,我确实尝试过,我发现异常是由语句 cur.execute("select * from torrents_small") 引起的。我通过将语句一一添加到最小应用程序中找到了这一点。
    • 该语句的异常错误是什么?
    猜你喜欢
    • 2012-08-03
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    相关资源
    最近更新 更多