Учебное пособие по колбу - «Ошибка атрибута»
Вопрос
Я новичок - только что достиг конец обучения Python The Word Pay и теперь пробую свои силы в колбе. Я начал с официального учебника на сайте Flask, но застрял этот шаг:
from __future__ import with_statement
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
from contextlib import closing
DATABASE = 'tmp/flaskr.db'
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'
app = Flask(__name__)
app.config.from_object(__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') as f:
db.cursor.executescript(f.read())
db.commit()
if __name__ == '__main__':
app.run()
У раковины Python, если я сделаю
from flaskr import init_db
init_db()
Я понимаю: Attribute Error: Flask object has no attribute 'open' (in the line containing app.open.resource in init_db)
. Анкет Как это исправить?
Решение
Ваш код:
app.open.resource
Пример кода:
app.open_resource
Вы можете заметить разницу? Если вы не можете, пример кода использует подчеркивание, где вы используете точку. У объекта Flask нет атрибута, называемого open
, но у него есть метод, называемый open_resource
.
Не связан с StackOverflow