我有以下目录结构:
app.py
config
__init__.py
settings.py
instance
__init__.py
settings.py
app.py
看起来像这样:
app = Flask(__name__)
debug_toolbar = DebugToolbarExtension()
mail = Mail()
csrf = CsrfProtect()
app.config.from_object('config.settings')
app.config.from_pyfile('settings.py', silent=True)
@app.route('/')
def hello_world():
return "hey"
debug_toolbar.init_app(app)
mail.init_app(app)
csrf.init_app(app)
app.run(port=8000)
,两个文件夹中的settings.py
文件如下所示:
DEBUG = False
SERVER_NAME = 'localhost:8000'
SECRET_KEY = 'insecurekeyfordev'
# Flask-Mail.
MAIL_DEFAULT_SENDER = 'contact@local.host'
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USE_SSL = False
MAIL_USERNAME = 'you@gmail.com'
MAIL_PASSWORD = 'awesomepassword'
# Celery.
CELERY_BROKER_URL = 'redis://:devpassword@redis:6379/0'
CELERY_RESULT_BACKEND = 'redis://:devpassword@redis:6379/0'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_REDIS_MAX_CONNECTIONS = 5
如果我删除负责配置的app.py
中的2行,我的应用运行正常,当我尝试访问hey
时,我得到127.0.0.1:8000
。
如果我将这些行保留在文件中,当我尝试访问该地址时会出现404错误。
可能是什么问题?
答案 0 :(得分:1)
您将include __DIR__ . "/../somefilein_parent.php";
设置为SERVER_NAME
,但实际上是通过localhost:8000
尝试访问它。
因此请注释掉配置中的127.0.0.1
变量。