我用flask-sqlalchemy為什麼無法更新我的sqlite文件?

嗚嗚嗚嗚………………我在按圖靈的flask書一步步學,導入sqlalchemy,定義表!

class User(UserMixin, db.Model):
__tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(64), unique=True, index=True)

config也定義了!

SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(basedir, "data-dev.sqlite")

我需要的路由是這個!

@auth.route("/login", methods=["GET", "POST"])
def login():
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
if user is not None and user.verify_password(form.password.data):
login_user(user, form.remember_me.data)
return redirect(request.args.get("next") or url_for("main.index"))
flash("Invalid username or password.")
return render_template("auth/login.html", form=form)

但是運行開發伺服器之後,在上面這頁填完了表單submit,是下面這堆異常……

sqlalchemy.exc.OperationalError
OperationalError: (OperationalError) no such table: users u"SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.role_id AS users_role_id, users.password_hash AS users_password_hash, users.confirmed AS users_confirmed
FROM users
WHERE users.email = ?
LIMIT ? OFFSET ?" (u"1@qq.com", 1, 0

實例化什麼的都做了吖……我知道應該貼代碼可不知道貼哪條了……煩死!!!

難道女生真的學不好這個玩意兒嘛……想了他喵的一下午了……

我開始懷疑自己了啊啊啊啊啊……

求幫助……在線等啊……

%&>_&<%%&>_&<%%&>_&<%%&>_&<%%&>_&<%


1. Open Terminal

2. python manage.py shell

3. db.create_all()


&>python xxxx.py db upgrade


Flask Web 框架

參考 12


看報錯是沒有這張表。

sqlite文件已經create了嗎?

如果成功的話,可以先用firefox的sqlite查看器看看建表的情況。

debug本來就是很需要耐心的,加油。


SQLALCHEMY_DATABASE_URI &> SQLALCHEMY_DATABASE_URL


題主,你這錯誤怎麼解決的啊。我也出現這錯誤了,求解決方法啊


推薦閱讀:

Python 中 a+=b 和 a=a+b 的區別有哪些?
現在哪些編程技術比較火爆。需求量很大且待遇看漲?
你用 Python 做過什麼有趣的數據挖掘/分析項目?
python程序員路線圖?
用 Python 可以建網站嗎?

TAG:Python | SQL | Flask | Python框架 | Python開發 |