gpt4 book ai didi

python - 无法初始化 flask initdb (Flask Tutorial Step4)

转载 作者:太空狗 更新时间:2023-10-29 17:26:52 26 4
gpt4 key购买 nike

教程链接:http://flask.pocoo.org/docs/0.11/tutorial/dbinit/#tutorial-dbinit

我正在学习 Flask 教程。这是我的 python 脚本的当前设置。在教程结束时,我正在尝试初始化数据库。但出于某种原因,我不断遇到同样的错误。

# all the imports
import os
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, \
render_template, flash

# create our little application :)
app = Flask(__name__)
app.config.from_object(__name__)

# Load default config and override config from an environment variable
app.config.update(dict(
DATABASE=os.path.join(app.root_path, 'flaskr.db'),
SECRET_KEY='development key',
USERNAME='admin',
PASSWORD='default'
))
app.config.from_envvar('FLASKR_SETTINGS', silent=True)

def connect_db():
"""Connects to the specific database."""
rv = sqlite3.connect(app.config['DATABASE'])
rv.row_factory = sqlite3.Row
return rv

def init_db():
db = get_db()
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()

@app.cli.command('initdb')
def initdb_command():
"""Initializes the database."""
init_db()
print 'Initialized the database.'


def get_db():
"""Opens a new database connection if there is none yet for the
current application context.
"""
if not hasattr(g, 'sqlite_db'):
g.sqlite_db = connect_db()
return g.sqlite_db

@app.teardown_appcontext
def close_db(error):
"""Closes the database again at the end of the request."""
if hasattr(g, 'sqlite_db'):
g.sqlite_db.close()

这是我的命令的输入:

flask initdb

这是输出:

Usage: flask [OPTIONS] COMMAND [ARGS]...

Error: No such command "initdb"

最佳答案

我认为你应该遵循这个:

  1. 编辑 flaskr.py 文件中的配置或 导出一个 FLASKR_SETTINGS 环境变量 指向一个配置文件。

  2. 从项目根目录安装应用

    pip install --editable .
  3. 指导flask使用正确的应用

    export FLASK_APP=flaskr
  4. 使用此命令初始化数据库:

    flask initdb
  5. 现在你可以运行 flaskr:

    flask run

注意正确安装--editable。我没有看到“。”第一次。

关于python - 无法初始化 flask initdb (Flask Tutorial Step4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com