AttributeError: объект Flask не имеет атрибута app.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 AttributeError: объект Flask не имеет атрибута app.

Сообщение Anonymous »

Проблемы с использованием create_all из mysqllite и flask
Я создавал приложение flask после YouTube, но когда я попытался создать базу данных, используя
db.create_all()появилась следующая ошибка
Traceback (последний вызов последний):
Файл «», строка 1, в
AttributeError: объект 'Flask' не имеет атрибута 'app'
Я использовал «из приложения для импорта roda_teste, db», затем «с app.app.context():», чтобы использовать create_all, в моем приложении есть app = Flask( имя) строка, в чем проблема?
from flask import Flask, render_template, flash
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

#roda o site
app = Flask(__name__)

#adicionando o banco de dados com o sql lite
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'

#chave secreta
app.config['SECRET_KEY'] = "minhaSenhaHiperUltraMegaBlasterSecreta"

#iniciando o banco de dados
db = SQLAlchemy(app)

#criando um modelo
class Users(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(200), nullable = False)
email = db.Column(db.String(120), nullable = False, unique = True)
#date_added = db.Column(db.DateTime, default = datetime.utcnow)

#criando uma string
def __repr__(self):
return '' % self.name

#criando uma classe de formulário, é isso que vou usar no cadastro
class NameForm(FlaskForm):
name = StringField("Qual é seu nome", validators=[DataRequired()]) #mostra se você preencheu o formulário
submit = SubmitField('Enviar')

#rotas das página do site
@app.route("/", methods=['GET', 'POST'])

def name():
name = None
form = NameForm()
#validando o form
if form.validate_on_submit():
name = form.name.data
form.name.data = ''
flash('Enviado com sucesso!')

return render_template('index_teste.html',
name = name,
form = form )

if __name__ == "__main__":
app.run(debug = True)


Подробнее здесь: https://stackoverflow.com/questions/791 ... ribute-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»