python - 请问以下Flask数据库配置哪里出错了呢?我是根据教程一步一步来做的:

 手机用户2502858701 发布于 2022-11-07 10:02

请问以下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 "", line 1, in 
  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'
4 个回答
  • 1、configuration不做单独文件
    2、DATABASE 用绝对路径

    2022-11-12 01:38 回答
  • sudo python

    2022-11-12 01:38 回答
  • DATABASE = '/tmp/flaskr.db' 这行配置,确认在运行后能找到该数据库?有的话还得确认路径相对或绝对 ??

    2022-11-12 01:38 回答
  • DATABASE = '/tmp/flaskr.db'应该是没有问题的。
    在文件中加上这一行:

        app.config.from_object(__name__)
    

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

    2022-11-12 01:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有