【发布时间】:2016-08-25 08:49:06
【问题描述】:
我基于我在 github 上找到的一个网络应用程序的结构,here。
我的项目结构如下:
~/Learning/flask-celery $ tree
.
├── config
│ ├── __init__.py
│ └── settings.py
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
└── web
├── app.py
├── __init__.py
├── static
└── templates
└── index.html
我希望 web/app.py 中的 Flask 应用程序加载 config 模块中的设置,正如我在上面链接的 githug 项目中看到的那样。
这是我在web/app.py 中实例化 Flask 应用程序的方式:
from flask import Flask, request, render_template, session, flash, redirect, url_for, jsonify
[...]
app = Flask(__name__, instance_relative_config=True)
app.config.from_object('config.settings')
app.config.from_pyfile('settings.py')
[...]
我遇到的问题是:
root@0e221733b3d1:/usr/src/app# python3 web/app.py
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/werkzeug/utils.py", line 427, in import_string
module = __import__(module_name, None, None, [obj_name])
ImportError: No module named 'config'
[...]
显然,Flask 在父目录中找不到 config 模块,这对我来说很有意义,但我不明白我所基于的链接项目是如何成功加载模块的树形结构和 Flask 配置代码。
在这种情况下,如何让 Flask 加载 config 模块?
【问题讨论】:
标签: python web-applications flask