【发布时间】:2016-06-10 00:41:35
【问题描述】:
flask 应用程序可以在 localhost 上登录和注册一切正常。但是当我将它推到heroku时,这成为一个问题。它显示了上述错误。这是app.py代码
from flask import Flask, render_template, request, redirect, jsonify, url_for, flash
from sqlalchemy import create_engine, asc, desc
from sqlalchemy.orm import sessionmaker
from database_setup import Base, User, BlogPost
from flask import session as login_session
import random
import string
from wtforms import Form, BooleanField, TextField, PasswordField, validators
from passlib.hash import sha256_crypt
app = Flask(__name__)
#Connecting to database
engine = create_engine('sqlite:///travellerdata.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
以...结尾
if __name__ == "__main__":
app.secret_key = 'some secret key'
app.debug = True
app.run()
【问题讨论】:
-
您使用的是什么 HTTP 服务器?独角兽?
-
我猜当你的 HTTP 服务器正在加载你的应用程序时,
__name__没有设置为'main'。尝试将app.secret_key = 'some secret key'移到 if 块之外。 -
我确实遇到了这个问题(尽管我的问题的解决方案与此不同)。
-
我支持 @mathguy54 的 sol'n。但是在 Heroku 上,有一个选项可以通过 GUI 设置密钥。如果可能的话,您也应该考虑该选项。在源代码中存储明文密钥通常不是安全措施。
-
是的,您应该在实例化应用程序后立即配置应用程序
标签: python heroku login flask secret-key