我在這裏找到燒瓶教程:http://flask.pocoo.org/docs/0.12/tutorial/。我已經按照步驟0-4的步驟操作,但無法理解步驟5(創建數據庫);我已閱讀並增加了培訓相關功能,以我的flaskr.py腳本,所以它目前看起來是這樣的:Python燒瓶:無法初始化SQLite數據庫
# all the imports
import os
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
app = Flask(__name__) # create the application instance :)
app.config.from_object(__name__) # load config from this file , flaskr.py
# 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 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()
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.')
if __name__ == '__main__':
init_db()
app.run()
本教程接着說,該數據庫可以通過調用初始化:
flask initdb
運行此命令產量:
Usage: flask [OPTIONS] COMMAND [ARGS]...
Error: No such command "initdb".
從迄今爲止以下的教程中,我沒有在我的應用程序目錄中flask
腳本。我還做了一些研究,發現這個資源:http://flask.pocoo.org/docs/0.12/cli/,其中指出這個燒瓶腳本帶有虛擬環境,但是我的虛擬環境沒有這個文件。我已通過導航到我的根目錄並使用以下方法進行驗證:
find . -name flask
find . -name flask.py
但是,這些命令都不會返回任何匹配。由於我對Flask比較新,所以我可能會在這裏錯過一些簡單的東西;有人可以解釋我缺少的東西並提供解決方法嗎?提前致謝!
只是可以肯定,你可以在你的問題包括'畫中畫顯示Flask'輸出?在你的virtualenv(當然)中做。 – skytreader
@skytreader:'pip show燒瓶'產量:'名稱:燒瓶 版本:0.12 摘要:基於Werkzeug,Jinja2和好心的微框架 主頁:http://github.com/pallets/flask/ 作者:Armin Ronacher 作者-email:[email protected]。com 許可證:BSD 位置:/home/neil/Desktop/flaskr/lib/python2.7/site-packages 需要:itsdangerous,click,Werkzeug,Jinja2' –