玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容

请python高手帮看下Flask数据库配置有什么问题

请问以下Flask数据库配置哪里出错了呢?我是根据教程一步一步来做的:
教程: http://dormousehole.readthedocs.org/en/latest/tutorial/dbinit.html#tutorial-dbinit

#------code------
# all the imports
import sqlite3
from flask import Flask, request, session, g, redirect, url_for,abort, render_template, flash
from contextlib import closing

# configuration
DATABASE = '/tmp/flaskr.db'
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'
​
# create our little application :)
app = Flask(__name__)
app.config.from_envvar('FLASKR_SETTINGS', silent = True)
def connect_db():
return sqlite3.connect(app.config['DATABASE'])
def init_db():
with closing(connect_db()) as db:
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()

#------Runing in Python IDEL------
>>> from flaskr import init_db
>>> init_db()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "flaskr.py", line 22, in init_db
    with closing(connect_db()) as db:
  File "flaskr.py", line 19, in connect_db
    return sqlite3.connect(app.config['DATABASE'])
KeyError: 'DATABASE'

DATABASE = '/tmp/flaskr.db'应该是没有问题的。
在文件中加上这一行:

    app.config.from_object(__name__)

就OK了,这行代码会从本文件加载配置。

1、configuration不做单独文件
2、DATABASE 用绝对路径

DATABASE = '/tmp/flaskr.db' 这行配置,确认在运行后能找到该数据库?有的话还得确认路径相对或绝对 ??

sudo python

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/wenda/wd19840.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 20时22分32秒 发布自玩蛇网

我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules